JS中相等判断,三等号===、双等号==、同值Object.is的区别详解 |
您所在的位置:网站首页 › 等值号和等号的区别 › JS中相等判断,三等号===、双等号==、同值Object.is的区别详解 |
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 |