【发布时间】:2017-04-18 16:19:44
【问题描述】:
我们知道== 和=== 之间的区别是什么 - 基本上,=== 阻止 Javascript 引擎转换参数之一以使两个参数具有相同类型。但是现在,在 ES6 中,出现了一个新的运算符 - Object.is,这有点令人困惑(或者 === 现在可能令人困惑......)
从 Mozila 网站 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness) 我们可以看出区别:
相同性比较:
x y == === Object.is
+0 -0 true true false
NaN NaN false false true
所以,对我来说,看起来Object.is 在比较参数时更加严格,如果是这样,就会提出问题 - === 有多不严格(称为“严格平等”):)
【问题讨论】:
标签: javascript comparison-operators