⊗jsPmCdCWB 119 of 505 menu

So sánh giá trị với kiểu boolean trong JavaScript

Trong ví dụ trước, chúng ta đã sử dụng toán tử === để so sánh. Trong trường hợp này, biến của chúng ta được so sánh để xem có bằng true hay không về cả giá trị và kiểu dữ liệu.

Đối với phép so sánh như vậy, chúng ta cũng có thể sử dụng toán tử ==. Nếu trong biến test luôn là một trong các giá trị true hoặc false, thì sẽ không có gì thay đổi:

let test = true; // Ở đây chúng ta viết true hoặc false if (test == true) { console.log('+++'); } else { console.log('---'); }

Nhưng nếu biến test có thể nhận bất kỳ giá trị nào, thì mọi thứ trở nên phức tạp hơn nhiều.

Trong trường hợp đó, nếu trong biến test không phải là giá trị boolean, thì giá trị đó trước tiên sẽ được chuyển đổi sang boolean và chỉ sau đó mới được so sánh.

Ví dụ, giả sử trong biến test là số 1. Trong trường hợp này, nó sẽ được chuyển đổi sang kiểu logic trước, tức là thành true. Và sau đó phép so sánh sẽ được thực hiện:

let test = 1; if (test == true) { console.log('+++'); // Đoạn này sẽ chạy } else { console.log('---'); }

Nhưng ví dụ, số 0 sẽ được chuyển đổi thành false. Và điều kiện của chúng ta cuối cùng sẽ in ra 'không đúng':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // Đoạn này sẽ chạy }

Trên thực tế, phép so sánh như vậy có thể được viết lại rõ ràng dưới dạng sau:

let test = 1; if (Boolean(test) == true) { console.log('+++'); } else { console.log('---'); }

Hãy nhớ lại và viết ra, những giá trị nào khi chuyển đổi sang kiểu logic sẽ cho ra false.

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = 1; if (test == true) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = 1; if (test == false) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = 1; if (test != true) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = ''; if (test == false) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test; if (test == true) { console.log('+++'); } else { console.log('---'); }

Không chạy code, hãy xác định xem cái gì sẽ được in ra console:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối