HomeLập trìnhJavaScriptGiải thích về...

Giải thích về Booleans JavaScript – Cách sử dụng Booleans trong JavaScript


Boolean

Booleans là một kiểu dữ liệu nguyên thủy thường được sử dụng trong các ngôn ngữ lập trình máy tính. Theo định nghĩa, một boolean có hai giá trị có thể: true hoặc false.

Trong JavaScript, thường có sự ép buộc kiểu ẩn đối với boolean. Ví dụ: nếu bạn có một câu lệnh if để kiểm tra một biểu thức nhất định, thì biểu thức đó sẽ bị ép buộc thành một boolean:

const a="a string";
if (a) {
  console.log(a); // logs 'a string'
}

Chỉ có một vài giá trị sẽ bị ép thành sai:

  • sai (không thực sự bị ép buộc vì nó đã sai)
  • vô giá trị
  • không xác định
  • NaN
  • “” (chuỗi trống)

Tất cả các giá trị khác sẽ bị ép buộc thành true. Khi một giá trị bị ép buộc thành boolean, chúng tôi cũng gọi đó là ‘falsy’ hoặc ‘true’.

Một cách mà kiểu ép buộc được sử dụng là sử dụng hoặc (||) và và (&&) toán tử:

const a="word";
const b = false;
const c = true;
const d = 0
const e = 1
const f = 2
const g = null

console.log(a || b); // 'word'
console.log(c || a); // true
console.log(b || a); // 'word'
console.log(e || f); // 1
console.log(f || e); // 2
console.log(d || g); // null
console.log(g || d); // 0
console.log(a && c); // true
console.log(c && a); // 'word'

Như bạn có thể thấy, các hoặc toán tử kiểm tra toán hạng đầu tiên. Nếu điều này đúng hoặc trung thực, nó sẽ trả về ngay lập tức (đó là lý do tại sao chúng ta nhận được ‘từ’ trong trường hợp đầu tiên và đúng trong trường hợp thứ hai). Nếu nó không đúng hoặc trung thực, nó sẽ trả về toán hạng thứ hai (đó là lý do tại sao chúng ta nhận được ‘từ’ trong trường hợp thứ ba).

Đọc thêm  Lời hứa JavaScript

Với toán tử and, nó hoạt động theo cách tương tự, nhưng để ‘và’ là đúng, cả hai toán hạng cần phải đúng. Vì vậy, nó sẽ luôn trả về toán hạng thứ hai nếu cả hai đều đúng/đúng, nếu không nó sẽ trả về sai. Đó là lý do tại sao trong trường hợp thứ tư, chúng tôi nhận được sự thật và trong trường hợp cuối cùng, chúng tôi nhận được ‘từ’.

Đối tượng Boolean

Ngoài ra còn có một đối tượng JavaScript gốc bao quanh một giá trị. Giá trị được truyền dưới dạng tham số đầu tiên được chuyển đổi thành giá trị boolean, nếu cần. Nếu giá trị bị bỏ qua, 0, -0, null, false, NaN, không xác định hoặc chuỗi trống (“”) thì đối tượng có giá trị ban đầu là false. Tất cả các giá trị khác, bao gồm bất kỳ đối tượng nào hoặc chuỗi “false”, tạo một đối tượng có giá trị ban đầu là true.

Đừng nhầm lẫn các giá trị Boolean nguyên thủy đúng và sai với các giá trị đúng và sai của đối tượng Boolean.

Thêm chi tiết

Bất kỳ đối tượng nào có giá trị không phải là không xác định hoặc null, kể cả đối tượng Boolean có giá trị là sai, đánh giá là đúng khi được chuyển đến câu lệnh có điều kiện. Nếu đúng, điều này sẽ thực thi chức năng. Ví dụ: điều kiện trong câu lệnh if sau đây có giá trị đúng:

const x = new Boolean(false);
if (x) {
  // this code is executed
}

Hành vi này không áp dụng cho nguyên hàm Boolean. Ví dụ: điều kiện trong câu lệnh if sau đây có giá trị sai:

const x = false;
if (x) {
  // this code is not executed
}

Không sử dụng đối tượng Boolean để chuyển đổi giá trị không phải boolean thành giá trị boolean. Thay vào đó, hãy sử dụng Boolean làm hàm để thực hiện tác vụ này:

const x = Boolean(expression);     // preferred
const x = new Boolean(expression); // don't use

Nếu bạn chỉ định bất kỳ đối tượng nào, kể cả đối tượng Boolean có giá trị là false, làm giá trị ban đầu của đối tượng Boolean, thì đối tượng Boolean mới có giá trị là true.

const myFalse = new Boolean(false);   // initial value of false
const g = new Boolean(myFalse);       // initial value of true
const myString = new String('Hello'); // string object
const s = new Boolean(myString);      // initial value of true

Không sử dụng đối tượng Boolean thay cho đối tượng Boolean nguyên thủy.

Đọc thêm  JavaScript trực tuyến – Danh sách trình chỉnh sửa mã HTML, CSS và JS [Browser IDE Tools]



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status