--- title: Strict equality (===) slug: Web/JavaScript/Reference/Operators/Strict_equality translation_of: Web/JavaScript/Reference/Operators/Strict_equality ---
全等运算符 (===) 会检查它的两个操作数是否相等,并且返回一个布尔值结果。与相等运算符不同,全等运算符总是认为不同类型的操作数是不同的。
x === y
全等运算符(===
和 !==
)使用全等比较算法来比较两个操作数。
false
。true
。null
,或者两个操作数都为 undefined
,返回 true
。NaN
,返回 false
。+0
和 -0
会被认为是相同的值。true
或同时为 false
。全等运算符与相等运算符(==
)最显著的区别是,如果操作数的类型不同,==
运算符会在比较之前尝试将它们转换为相同的类型。
console.log("hello" === "hello"); // true console.log("hello" === "hola"); // false console.log(3 === 3); // true console.log(3 === 4); // false console.log(true === true); // true console.log(true === false); // false console.log(null === null); // true
console.log("3" === 3); // false console.log(true === 1); // false console.log(null === undefined); // false
const object1 = { name: "hello" } const object2 = { name: "hello" } console.log(object1 === object2); // false console.log(object1 === object1); // true
Specification |
---|
{{SpecName('ESDraft', '#sec-equality-operators', 'Equality operators')}} |
{{Compat("javascript.operators.strict_equality")}}