JS中相等判断,三等号===、双等号==、同值Object.is的区别详解

您所在的位置:网站首页 等值号和等号的区别 JS中相等判断,三等号===、双等号==、同值Object.is的区别详解

JS中相等判断,三等号===、双等号==、同值Object.is的区别详解

2024-02-22 10:47| 来源: 网络整理| 查看: 265

ES6以后有三种判等方法

抽象(非严格)相等比较 (==) 严格相等(全等)比较 (===) 同值相等Object.is (ES6新特性)

使用哪一种比较全看你的业务需要,不过一般都用===和Object.is

MDN中有很详细的介绍,这里直接拿过来用了

在做相同的比较时,三种方法的区别

双等号==

将执行类型转换,

三等号

不进行类型转换(如果类型不同, 只是总会返回 false)

Object.is

基本上与三等号相同,但是对于NaN和-0和+0进行特殊处理

Object.is(NaN,NaN)将为 true,在==和===中将是false,

严格相等===

全等操作符比较两个值是否相等,两个被比较的值在比较前都不进行隐式转换。如果两个被比较的值具有不同的类型,这两个值是不全等的。否则,如果两个被比较的值类型相同,值也相同,并且都不是 number 类型时,两个值全等。最后,如果两个值都是 number 类型,当两个都不是 NaN,并且数值相同,或是两个值分别为 +0 和 -0 时,两个值被认为是全等的。

var num = 0; var obj = new String("0"); var str = "0"; var b = false; console.log(num === num)


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3