Bỏ qua để đến nội dung

Equality Comparisons (So Sánh Bằng)

Equality Comparisons (so sánh bằng) là cách JavaScript kiểm tra xem hai giá trị có “bằng nhau” hay không. Khi bạn viết biểu thức so sánh (ví dụ: a == b hoặc a === b), JavaScript sẽ kiểm tra mối quan hệ giữa hai giá trị theo quy tắc riêng của từng toán tử.



== (Loose)

Tự ép kiểu trước khi so sánh — "5" == 5true

=== (Strict)

Không ép kiểu — phải cùng kiểu VÀ cùng giá trị

Object.is()

Giống === nhưng xử lý đúng NaN và phân biệt +0 / -0


"5" == 5; // true — ép "5" thành 5
0 == false; // true — ép false thành 0
null == undefined; // true — quy tắc đặc biệt
"" == 0; // true — ép "" thành 0

Đặc điểm== (Loose)=== (Strict)Object.is()
Chuyển đổi kiểu✅ Có❌ Không❌ Không
So sánh kiểuJS tự ép kiểuPhải giống nhauPhải giống nhau
"5" vs 5✅ true❌ false❌ false
0 vs false✅ true❌ false❌ false
null vs undefined✅ true❌ false❌ false
NaN vs NaN❌ false❌ false✅ true
+0 vs -0✅ true✅ true❌ false
Khuyến nghị⚠️ Hạn chế dùng🔹 Dùng mặc định🔸 Trường hợp đặc biệt