JavaScript 中 == 和 Object.is() 的区别

发布时间:2023年12月31日

在 JavaScript 中,== 是相等运算符,用于比较两个值是否相等。而 Object.is() 是一个方法,用于比较两个值是否完全相同。

区别如下:

  1. 数据类型比较:== 运算符在比较两个值之前会进行类型转换,而 Object.is() 不会进行类型转换。
console.log(1 == '1'); // true,进行了类型转换
console.log(Object.is(1, '1')); // false,没有进行类型转换

  1. NaN 的比较:== 运算符认为 NaN 与任何值都不相等,而 Object.is() 认为 NaN 与 NaN 相等。
console.log(NaN == NaN); // false
console.log(Object.is(NaN, NaN)); // true

  1. 0 和 -0 的比较:== 运算符认为 0 和 -0 相等,而 Object.is() 认为它们是不同的。
console.log(0 == -0); // true
console.log(Object.is(0, -0)); // false

文章来源:https://blog.csdn.net/weixin_59525879/article/details/135310807
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。