JS中 ==、===和Object.is()的区别
名称 | 区别 |
---|
== | 判断两值是否相等,两值类型不同会先转换,在进行比较。 |
=== | 判断两值是否恒等,包括类型。(注意:NaN 不等于自身) |
Object.is | 和 === 类似,不同:NaN等于自身, +0 不等于 -0 |
扩展:
判断数值a是否为NaN
//方法1:
Object.is(a,NaN)
//方法2:
Number.isNaN(a)
null和undefined:
恒等:
null === null;
undefined === undefined;
相等:
null == undefined ;
null !== undefined ;