在Object.is出现之前,我们用了两个等号“==”或者三个等号“===”。三个等号比较严格,所以只要我们用不同的类型来比较两边,就会立刻返回false。
另外,只有一个不等于自身的值,就是NaN
现在ES6增加了Object.is,使得比较操作更加混乱。
在大多数情况下,Object.is相当于“===”,如下所示
1===1 //trueObject.is(1,1)//True ' a '==' a '//TrueObject . is(' a ',' a ')//True===True//TrueObject . is(True,True)//TrueNull==null//TrueObject . is(null,null)//TrueUndefined===undefined//TrueObject . is(undefined,undefined)//true但对于NaN,0,0,-0和"="
Nan===nan//false Object.is (nan,nan)//true0===-0//trueobject . is(0,-0)//false-0===0//trueobject . is(-0,0)//false以上是对Javascript ES6新增价值的比较