Strict equality (===)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Operator strict equality (===) kiểm tra xem hai toán hạng của nó có bằng nhau không, trả về kết quả Boolean. Không giống như operator equality, operator strict equality luôn coi các toán hạng có kiểu khác nhau là khác nhau.
Try it
console.log(1 === 1);
// Expected output: true
console.log("hello" === "hello");
// Expected output: true
console.log("1" === 1);
// Expected output: false
console.log(0 === false);
// Expected output: false
Cú pháp
js
x === y
Mô tả
Các operator strict equality (=== và !==) cung cấp ngữ nghĩa IsStrictlyEqual.
- Nếu các toán hạng có kiểu khác nhau, trả về
false. - Nếu cả hai toán hạng là object, trả về
truechỉ khi chúng tham chiếu đến cùng một object. - Nếu cả hai toán hạng là
nullhoặc cả hai toán hạng làundefined, trả vềtrue. - Nếu một trong các toán hạng là
NaN, trả vềfalse. - Nếu không, so sánh giá trị của hai toán hạng:
- Các số phải có cùng giá trị số.
+0và-0được coi là cùng giá trị. - Các string phải có cùng ký tự theo cùng thứ tự.
- Các Boolean phải đều là
truehoặc đều làfalse.
- Các số phải có cùng giá trị số.
Sự khác biệt đáng chú ý nhất giữa operator này và operator equality (==) là nếu các toán hạng có kiểu khác nhau, operator == cố gắng chuyển đổi chúng về cùng kiểu trước khi so sánh.
Ví dụ
>So sánh các toán hạng cùng kiểu
js
"hello" === "hello"; // true
"hello" === "hola"; // false
3 === 3; // true
3 === 4; // false
true === true; // true
true === false; // false
null === null; // true
So sánh các toán hạng khác kiểu
js
"3" === 3; // false
true === 1; // false
null === undefined; // false
3 === new Number(3); // false
So sánh các object
js
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 === object2); // false
console.log(object1 === object1); // true
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-equality-operators> |