JavaScript中Object.is()与哪些方法在比较值时表现不同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计980个文字,预计阅读时间需要4分钟。
三重相等运算符===检查两个值是否严格相等:类型和值都相同。例如:
1===1; // 为 true
1==='1'; // 为 false
ES2015 规范引入了 Object.is(),它提供了与严格相等类似的功能:Object.is(1, 1); // 为 true
两者几乎相同。三重相等运算符 === 严格检查2个值是否相同:
1 === 1; // => true 1 === '1'; // => false 1 === true; // => false
但是,ES2015规范引入了 Object.is(),其行为与严格的相等运算符几乎相同:
Object.is(1, 1); // => true Object.is(1, '1'); // => false Object.is(1, true); // => false
主要问题是:什么时候使用 Object.is() 代替严格的相等性检查?让我们找出答案。
1.严格相等检查操作符
首先,让我们快速回顾一下严格的相等运算符是如何工作的。
当两个值的类型相同且持有相同的值时,严格相等检查运算符的计算结果为 true。
本文共计980个文字,预计阅读时间需要4分钟。
三重相等运算符===检查两个值是否严格相等:类型和值都相同。例如:
1===1; // 为 true
1==='1'; // 为 false
ES2015 规范引入了 Object.is(),它提供了与严格相等类似的功能:Object.is(1, 1); // 为 true
两者几乎相同。三重相等运算符 === 严格检查2个值是否相同:
1 === 1; // => true 1 === '1'; // => false 1 === true; // => false
但是,ES2015规范引入了 Object.is(),其行为与严格的相等运算符几乎相同:
Object.is(1, 1); // => true Object.is(1, '1'); // => false Object.is(1, true); // => false
主要问题是:什么时候使用 Object.is() 代替严格的相等性检查?让我们找出答案。
1.严格相等检查操作符
首先,让我们快速回顾一下严格的相等运算符是如何工作的。
当两个值的类型相同且持有相同的值时,严格相等检查运算符的计算结果为 true。

