Đối tượng Boolean trong JavaScript - Fedu

CHÀO MỪNG BẠN ĐẾN VỚI THƯ VIỆN HỌC TẬP & ĐÀO TẠO CƠ BẢN

Đối tượng Boolean trong JavaScript

JavaScript

Hướng dẫn JavaScript

Biểu mẫu JavaScript

Đối tượng JavaScript

Hàm JavaScript

DOM JavaScript

Trình duyệt BOM

JavaScript Ajax

JavaScript Json

Đối tượng Boolean trong JavaScript đại diện cho một trong hai giá trị: true hoặc false.

Giá trị Boolean

Thông thường trong lập trình, bạn sẽ cần một loại dữ liệu mà có một trong hai giá trị như:

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

Ở đây, JavaScript có một kiểu dữ liệu Boolean. Nó chỉ có thể lấy các giá trị True/False (đúng/sai).

Hàm Boolean()

Bạn có thể sử dụng hàm Boolean() để tìm ra một biểu thức (hoặc một biến) là đúng:

Boolean(10 > 9)        // trả về giá trị đúng

hay đơn giản hơn:

(10 > 9)              // luôn trả về giá trị đúng
10 > 9                // luôn trả về giá trị đúng

So sánh và điều kiện

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)

Giá trị Boolean của một biểu thức là nền tảng để so sánh và điều kiện của JavaScript.

Mọi thứ với giá trị “real” là đúng

100

3.14

-15

“Hello”

“false”

7 + 1 + 3.14

5 < 6

Mọi thứ với giá trị “real” là sai

Giá trị Boolean của 0 (zero) là false:

var x = 0;
Boolean(x);       // trả về giá trị false

Giá trị Boolean của -0 (minus zero) là false:

var x = -0;
Boolean(x);       // trả về giá trị false

Giá trị Boolean của “” (chuỗi rỗng) là false:

var x = “”;
Boolean(x);       // trả về giá trị false

Giá trị Boolean không xác định là false:

var x;
Boolean(x);       // trả về giá trị false

Giá trị Boolean của null là false:

var x = null;
Boolean(x);       // trả về giá trị false

Giá trị Boolean của false (theo dự đoán) là false:

var x = false;
Boolean(x);       // trả về giá trị false

Giá trị Boolean của NaN là false:

var x = 10 / “H”;
Boolean(x);       // trả về giá trị false

Booleans có thể là các đối tượng

Thông thường, các phép toán luận JavaScript là các giá trị nguyên hàm được tạo từ các chữ cái:

var x = false;

Nhưng các phép toán luận cũng có thể được định nghĩa là các đối tượng với từ khoá mới:

var y = new Boolean(false);

var x = false;
var y = new Boolean(false);

// typeof x trả về giá trị boolean
// typeof y trả về các đối tượng

Không tạo các đối tượng Boolean vì việc này làm chậm tốc độ thực hiện. Từ khoá mới làm phức tạp mã. Điều này có thể tạo ra một số kết quả không mong muốn:

Khi sử dụng toán tử ==, các phép toán luận bình đẳng bằng nhau:

var x = false;
var y = new Boolean(false);

// (x == y) đúng vì x và y có giá trị bằng nhau

Khi sử dụng toán tử ===, boolean không bằng nhau, bởi vì toán tử === mong muốn sự bình đẳng trong cả kiểu và giá trị:

var x = false;
var y = new Boolean(false);

// (x === y) sai vì x và y khác kiểu nhau

Hoặc thậm chí tệ hơn. Đối tượng không thể so sánh được:

var x = new Boolean(false);
var y = new Boolean(false);

// (x == y) là false vì các đối tượng không thể so sánh được

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 luôn trả về false.