Object.is() 与比较操作符 “===”、“==” 的区别?
- ==
相等运算符(==
)检查其两个操作数是否相等,返回一个布尔值结果。与严格相等运算符(===
)不同,它会比较不同类型的操作数,并尝试强制类型转换。
1 == 1 // true
'1' == 1 //true
0 == false //true
- ===
严格相等运算符(===
)会检查它的两个操作数是否相等,并且返回一个布尔值结果。与相等运算符不同,严格相等运算符总是认为不同类型的操作数是不同的。
1 === 1 // true
'hello' === 'hello' // true
'1' === 1 //false
0 === false // false
- Object.is
Object.is()
方法判断两个值是否为同一个值
一般情况下和三等号的判断相同,它处理了一些特殊的情况,比如 -0 和 +0 不再相等,两个 NaN 是相等的。