标签:nbsp 新手 缺点 内存 === col 数据 OLE 对象
ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身.
Object.is在所有环境中,只要两个值是一样的,它们就应该相等。
============================================================
Object.is 和 相等运算符(==)
console.log(0==false);//true
console.log(Object.is(0,false));//false
Object.is 和 严格相等运算符(===)
console.log(NaN===NaN);//false
console.log(Object.is(NaN,NaN));//true
console.log(+0===-0);// true
console.log(Object.is(+0,-0));//false
tips: 新手可以简单理解就是Object.is 更加专注于表面像的 形式比较 。。。
console.log({}=={}); //false 因为每个对象在内存空间的地址不一样
console.log({}==={});//false 因为每个对象在内存空间的地址不一样
console.log(Object.is({},{}));//false 因为每个对象在内存空间的地址不一样
标签:nbsp 新手 缺点 内存 === col 数据 OLE 对象
原文地址:https://www.cnblogs.com/anduyinglufei/p/10353828.html