Khác biệt giữa == và === là toán tử trước chỉ kiểm tra giá trị, trong khi toán tử sau kiểm tra cả giá trị và kiểu dữ liệu (String, Boolean, v.v.). Ví dụ sau minh họa việc so sánh giá trị bất kể kiểu dữ liệu.
a) Toán tử "==" (kiểm tra bằng lỏng)
Ví dụ
<html> <body> <p id="strict"></p> <script> var x = 5; var y = 5; var z = 6; document.getElementById("strict").innerHTML = (x == y) + "<br>" + (x == z); </script> </body> </html>
Kết quả
true false
b) Toán tử '===' (kiểm tra bằng chặt)
Toán tử === trả về true khi và chỉ khi cả giá trị và kiểu dữ liệu đều bằng nhau. Nếu không, trả về false. Trong ví dụ sau, các biến x, y, z đều được gán giá trị 5 nhưng y và z là kiểu chuỗi (string). Khi so sánh chặt x và y, kết quả là false vì y là string còn x là number.
Ví dụ
<html> <body> <p id="strict"></p> <script> var x = 5; var y = "5"; var z = "5"; document.getElementById("strict").innerHTML = (x === y) + "<br>" + (x == z); </script> </body> </html>
Kết quả
false true