JS có 2 toán tử so sánh bằng:
| Đặc điểm | == (Equality) |
=== (Strict Equality) |
|---|---|---|
| Tên gọi | Equality Operator | Identity / Strict Equality Operator |
| So sánh | Ép kiểu (type coercion) rồi so sánh giá trị | Không ép kiểu — so sánh cả kiểu LẦN giá trị |
| Cú pháp | a == b |
a === b |
| Hành vi | Chuyển đổi ngầm để cùng kiểu rồi so sánh | Trả true chỉ khi kiểu VÀ giá trị y hệt nhau |
Ví dụ
var a = true; var b = 1; var c = true; console.log(a == b); // true (1 → true) console.log(a === c); // true (cùng boolean) console.log(a === b); // false (boolean !== number)
Khuyến nghị: Luôn dùng === (và !==) để tránh bugs do ép kiểu ngầm.