JavaScript中Object.is()与哪些方法在比较值时表现不同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1033个文字,预计阅读时间需要5分钟。
三重相等运算符 `===` 用于比较两个值是否严格相等,包括类型和值。以下是一些示例:
1. `1===1`;// 结果为 true
2.`1==='1'`;// 结果为 false
3.`1===true`;// 结果为 false
然而,ES2015 规范引入了 `Object.is()` 方法,其行为与严格相等运算符类似,但更严格:
`Object.is(1, 1)`;// 结果为 true
注意:`Object.is()` 在处理 NaN 和 -0 时与 `===` 有不同的行为。
三重相等运算符 === 严格检查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。
本文共计1033个文字,预计阅读时间需要5分钟。
三重相等运算符 `===` 用于比较两个值是否严格相等,包括类型和值。以下是一些示例:
1. `1===1`;// 结果为 true
2.`1==='1'`;// 结果为 false
3.`1===true`;// 结果为 false
然而,ES2015 规范引入了 `Object.is()` 方法,其行为与严格相等运算符类似,但更严格:
`Object.is(1, 1)`;// 结果为 true
注意:`Object.is()` 在处理 NaN 和 -0 时与 `===` 有不同的行为。
三重相等运算符 === 严格检查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。

