==
表示等于,只判断值大小是否相等,不判断数据类型
===
表示全等,首先数据类型必须相同,其次值相同(不进行隐式转换)
Object.is()
ES6新增的方法,用来比较两个值是否全等,与===
的作用相似
Object.is()
与 ===
的区别有两点不同:
-
+0
和-0
两者是否相等 - NaN是否等于自身
// ===
console.log(+0 === -0); // true
console.log(NaN === NaN); // false
//Object.is()
console.log(Object.is(+0, -0)); // false
console.log(Object.is(NaN, NaN)); //true