JavaScript sai

Cơ chế cốt lõi của Javascript là khả năng phân biệt giữa các giá trị đúng và sai. Tiêu chuẩn Javascript xác định các giá trị đúng và sai dưới dạng một loại dữ liệu duy nhất được gọi là boolean Javascript

Các boole trong Javascript có thể là true, false hoặc (trong một số ngữ cảnh nhất định) một giá trị đánh giá là true hoặc false. Điều quan trọng là phải quản lý ngữ cảnh boolean đúng cách vì nhiều cấu trúc Javascript dựa vào chúng

Bài viết này mô tả booleans Javascript là gì và cách sử dụng chúng một cách thích hợp trong các ngữ cảnh lập trình khác nhau

Khái niệm cơ bản về Boolean Javascript

Boolean Javascript là một kiểu nguyên thủy, có nghĩa là chúng không cần phải được tạo rõ ràng như một đối tượng. Sử dụng các từ khóa dành riêng true hoặc false để gán giá trị boolean cho một biến. Logic tương tự được áp dụng khi tạo boolean trong JSON

let example1a = true;
let example1b = false;

Không bao giờ chỉ định rõ ràng giá trị boolean dưới dạng chuỗi hoặc đối tượng. Các chuỗi không phải là kiểu dữ liệu chính xác cho các biểu thức boolean, trong khi tạo các boolean dưới dạng các đối tượng dẫn đến chi phí không cần thiết và làm phức tạp mã

let example2a = "true";             // Incorrect: not a boolean.
let example2b = new Boolean(true);  // Incorrect: overcomplicated.

Các câu lệnh điều khiển Javascript chỉ thực thi trong các điều kiện nhất định dựa vào các phép toán luận để đánh giá các điều kiện đó. Đây là một cơ chế quan trọng trong các cấu trúc bao gồm vòng lặp while và câu lệnh if other, như ví dụ sau minh họa. Trong ví dụ này, giả sử rằng

let example2a = "true";             // Incorrect: not a boolean.
let example2b = new Boolean(true);  // Incorrect: overcomplicated.
2 là một hàm Javascript trả về giá trị boolean

// While loop with boolean end condition
let example3a = someBoolean();
while (example3a === true) {
    .. instructions ...
}

// If else statement
let example3b = someBoolean();
if (example3b === true) {
    .. instructions if true ...
} else {
    .. instructions if false ...
}

Giá trị 'Truthy' và 'Falsy'

Boolean Javascript ẩn là các giá trị đánh giá thành true hoặc false trong ngữ cảnh của cấu trúc ngôn ngữ Javascript như vòng lặp while. Các giá trị ngầm định này, vì chúng không hoàn toàn đúng hay sai, thường được gọi là “đúng” hoặc “sai” (hoặc “sai”)

Các giá trị “Truthy” thường đến từ các đối tượng có giá trị hoặc cấu trúc xác định. Ví dụ: một mảng trống, hầu hết các số, đối tượng trống và chuỗi không trống (bao gồm cả những chuỗi chỉ bao gồm khoảng trắng) đánh giá thành một true ngầm. Các ví dụ sau đây cho thấy một số giá trị “trung thực” kém trực quan hơn

// More examples of "truthy" values
let example4a = "false";  // The string "false"
let example4b = -2;       // A negative number
let example4c = {};       // An empty object

Các giá trị “giả” thường đến từ các đối tượng không có giá trị hoặc cấu trúc xác định. Ví dụ: các giá trị

let example2a = "true";             // Incorrect: not a boolean.
let example2b = new Boolean(true);  // Incorrect: overcomplicated.
6, giá trị
let example2a = "true";             // Incorrect: not a boolean.
let example2b = new Boolean(true);  // Incorrect: overcomplicated.
7 và chuỗi trống đánh giá thành một giá trị ngầm định false. Các ví dụ sau đây cho thấy một số giá trị "falsy" ít trực quan hơn

// More examples of "falsy" values
let example5a = -0;   // Negative 0
let example5b = NaN;  // Value for Not A Number
let example5c = 0n;   // BigInt 0

Giả sử rằng tất cả các giá trị là “trung thực” trừ khi chúng được định nghĩa rõ ràng là “giả. ” Các giá trị “giả” được xác định rõ ràng đôi khi có thể khác nhau giữa các trình duyệt và triển khai Javascript, vì vậy, khi nghi ngờ, hãy tham khảo tài liệu có sẵn

Quản lý Boolean Javascript

Vì các phép toán luận trong Javascript có thể rõ ràng hoặc ẩn ý, ​​nên bạn phải luôn biết liệu mình có đang sử dụng các toán tử Javascript nghiêm ngặt để đánh giá các biểu thức boolean hay không. Các biểu thức "Truthy" và "falsy" chỉ đánh giá bằng với các phép toán luận rõ ràng nếu bạn không sử dụng phép so sánh nghiêm ngặt

Trong ví dụ này, phép so sánh đầu tiên coi chuỗi “1” bằng true bởi vì nó sử dụng toán tử bằng không nghiêm ngặt (==). Phép so sánh thứ hai coi chuỗi “1” không bằng với true bởi vì nó sử dụng toán tử bằng nghiêm ngặt (===)

________số 8_______

Tính linh hoạt của việc sử dụng các phép so sánh không nghiêm ngặt với các biểu thức “trung thực” và “giả dối” có thể vừa hữu ích vừa có hại. Nó có thể làm cho việc lập trình trở nên dễ dàng hơn, nhưng về lâu dài việc bảo trì có thể khó khăn hơn vì khó có thể biết được giá trị nào đang được so sánh

Phần kết luận

Boolean Javascript là loại dữ liệu cốt lõi mà nhiều phần khác của Javascript dựa vào. Phân biệt giữa các giá trị boolean rõ ràng và các giá trị “thật” hoặc “sai” là nguồn gốc phổ biến của các lỗi lập trình, vì vậy việc quản lý các phép toán boolean đúng cách là rất quan trọng

Hãy đăng ký tham gia Chương trình cấp bằng cấp Nano về lập trình của chúng tôi ngay hôm nay để tìm hiểu thêm về các phép toán luận Javascript và các khái niệm lập trình khác

Đúng hay sai trong JavaScript?

Tiêu chuẩn Javascript xác định các giá trị đúng và sai dưới dạng một loại dữ liệu duy nhất được gọi là boolean Javascript . Các boole trong Javascript có thể là true , false hoặc (trong một số ngữ cảnh nhất định) một giá trị đánh giá là đúng hoặc sai.

Tại sao sai lại đúng trong JavaScript?

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à false, sẽ được đánh giá là true khi được chuyển đến câu lệnh có điều kiện .

JavaScript không được xác định là sai?

Mô tả. Ví dụ, một giá trị sai là giá trị đánh giá là FALSE khi kiểm tra một biến. Chỉ có sáu giá trị falsey trong JavaScript. undefined , null , NaN , 0 , "" (chuỗi trống) và tất nhiên là false .

Tại sao JavaScript là 1 đúng và 0 sai?

0 và 1 là loại 'số' nhưng trong biểu thức Boolean, 0 chuyển thành false và 1 chuyển thành true . Vì một biểu thức Boolean chỉ có thể mang lại một Boolean, nên bất kỳ biểu thức nào không rõ ràng là đúng hoặc sai đều được đánh giá theo mức độ đúng và sai. Số không là số duy nhất đánh giá là sai.