Strict equality là gì?

Noun Javascript
strict equality operator triple equals operator

Trong Javascript, toán tử strict equality "===" cho phép chúng ta so sánh hai hoặc nhiều toán hạng (operand) bằng cách kiểm tra sự bằng nhau giữa các giá trị cũng như kiểu dữ liệu (type) của chúng. Nó chỉ trả về true nếu cả hai giá trị và kiểu dữ liệu đều khớp (match) với toán hạng khác.

Trong toán tử strict equality, không giá trị nào của toán hàng được chuyển đổi (conversion) thành một số giá trị khác trước khi được so sánh. Nếu các giá trị có các kiểu dữ liệu khác nhau, các giá trị được coi là không bằng nhau. Nếu các giá trị có cùng kiểu dữ liệu, không phải là số và có cùng giá trị, chúng được coi là bằng nhau. Cuối cùng, nếu cả hai giá trị đều là số, chúng được coi là bằng nhau nếu chúng không phải là NaN và có cùng giá trị hoặc nếu một là +0 và một là -0.


var num = 0;
var obj = new String('0');
var str = '0';

console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // true

console.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false

Learning English Everyday