Open xiaokeqi opened 5 years ago
es6之前,我们判断是否相等,经常用==,===。es6出现之后,新产生了一个api Object.is()来判断相等性。 我们知道:undefined == null, NaN !=NaN,+0 === -0等等,诸如此类,我们需要通过我们强大的大脑来记住这些"特性"
Object.is()则是帮我们解决了这些问题。让其相等性显得"正常"起来。
如下:
从上图中,我们可以看出
Object.is(NaN, NaN) // true
Object.is(+0, -0) // false
有了Object.is(), 再也不用记那些特殊"相等",特殊"不等"的情况了,它是更严格、更合乎常理的==函数。
还有一点可幸的是,好多库均已通过Object.is()来判断相等性。赞哦!
es6之前,我们判断是否相等,经常用==,===。es6出现之后,新产生了一个api Object.is()来判断相等性。 我们知道:undefined == null, NaN !=NaN,+0 === -0等等,诸如此类,我们需要通过我们强大的大脑来记住这些"特性"
Object.is()则是帮我们解决了这些问题。让其相等性显得"正常"起来。
如下:
从上图中,我们可以看出
Object.is(NaN, NaN) // true
Object.is(+0, -0) // false
有了Object.is(), 再也不用记那些特殊"相等",特殊"不等"的情况了,它是更严格、更合乎常理的==函数。
还有一点可幸的是,好多库均已通过Object.is()来判断相等性。赞哦!