JavaScript

Kiểu dữ liệu Boolean trong JavaScript

Kiểu dữ liệu Boolean trong JavaScript
Được viết bởi Minh Hoàng

Series lập trình JavaScript, ngôn ngữ lập trình linh động, thực thi phía client.

Kiểu dữ liệu Boolean trong JavaScript

Trong rất nhiều trường hợp, trong lập trình, bạn sẽ cần một kiểu dữ liệu chỉ có thể có một trong hai giá trị, như:

  • YES / NO
  • ON / OFF
  • TRUE / FALSE

Vì lý do này, JavaScript có kiểu dữ liệu Boolean. Giá trị chỉ true hoặc là false.

1. Giá trị boolean của một biểu thức

1. Giá trị boolean của một biểu thức

Giá trị Boolean của một biểu thức là cơ sở cho tất cả các phép so sánh và điều kiện của JavaScript.

Toán tử Mô tả Ví dụ
== Bằng if (day == “Monday”)
> Lớn hơn if (salary > 9000)
< Nhỏ hơn if (age < 18)
Hàm Boolean()

– Bạn có thể sử dụng hàm Boolean() để kiểm tra xem biểu thức (hoặc một biến) có phải là true hay không:

Ví dụ:
[code language=”javascript”]function myFunction() {
document.getElementById("demo").innerHTML =
"Kết quả là: " + Boolean(10 > 9);
}[/code] Try it »

– Hoặc chỉ cần viết đơn giản thế này:

Ví dụ:
[code language=”javascript”]function myFunction() {
document.getElementById("demo").innerHTML = (10 > 9);
}

// Hoặc:
function myFunction() {
document.getElementById("demo").innerHTML = 10 > 9;
}[/code]

2. Everything With a Value is True

2. Mọi thứ mà “có giá trị” đều là True

Ví dụ:
[code language=”javascript”]var b1 = Boolean(100); // true
var b2 = Boolean(3.14); // true
var b3 = Boolean(-15); // true

var b4 = Boolean("Hello"); // true
var b5 = Boolean(‘false’); // true

var b6 = Boolean(1 + 7 + 3.14); // true[/code] Try it »

3. Everything Without a Value is False

3. Mọi thứ “không có giá trị” đều False

Ví dụ:
[code language=”javascript”]var b1 = Boolean(0); // false
var b2 = Boolean(-0); // false
var b3 = Boolean(""); // false

// x lúc này là "undefined"
var x;
var b4 = Boolean(x); // false

var y = null;
var b5 = Boolean(y); // false

// z lúc này là "NaN"
var z = 10 / "H";
var b6 = Boolean(z); // false

var m = false;
var b7 = Boolean(m); // false[/code] Try it »

4. Boolean có thể là Object

4. Boolean có thể là Object

– Thông thường các giá trị booleans JavaScript là các giá trị nguyên thủy và được tạo từ các literal:

var x = false;

– Tuy nhiên, các giá trị booleans cũng có thể được định nghĩa là các đối tượng (objects) với từ khóa new:

var y = new Boolean(false);

Ví dụ:
[code language=”javascript”]var x = false;
var y = new Boolean(false);

// typeof x sẽ trả về "boolean"
// typeof y sẽ trả về "object"[/code] Try it »

– Đừng bao giờ tạo Boolean objects. Nó làm chậm tốc độ thực thi.
– Hơn nữa, từ khóa new làm phức tạp code. Điều này có thể tạo ra một số kết quả không mong muốn như dưới đây:

● Khi sử dụng toán tử ==, các giá trị booleans bằng nhau sẽ bằng nhau (equal):

Ví dụ:
[code language=”javascript”]var x = false;
var y = new Boolean(false);

// (x == y) là "true", vì x và y có giá trị bằng nhau.[/code]

● Khi sử dụng toán tử ===, các giá trị booleans bằng nhau cũng không bằng nhau, vì toán tử === mong đợi sự bằng nhau trong cả kiểu (type) và giá trị (value).

Ví dụ:
[code language=”javascript”]var x = false;
var y = new Boolean(false);

// (x === y) là "false", vì x và y là khác kiểu (boolean vs object)[/code] Try it »

● Hay thậm chí các đối tượng cũng không thể so sánh được.

Ví dụ:
[code language=”javascript”]var x = new Boolean(false);
var y = new Boolean(false);

// (x == y) là "false", vì x và y là các đối tượng khác nhau.
// (x === y) là "false", vì x và y là các đối tượng khác nhau.[/code] Try it »

Lưu ý sự khác biệt giữa (x == y) và (x === y).
So sánh hai đối tượng JavaScript sẽ luôn trả về “false”.

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »