文章内容

2018/10/27 10:35:05,作 者: 黄兵

Javascript 一致/严格相等 (===)与相等(==)

最近在Javascript需要比较,在使用“==”和“===”的时候并不是很了解,查了一下MDN网络,终于搞清楚了,记录如下:

相等(==)

比较操作符会为两个不同类型的操作数转换类型,然后进行严格比较。当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。

语法

x == y

例子

1   ==  1     // true
"1"  ==  1     // true
 1   == '1'    // true
 0   == false  // true

一致/严格相等 (===)

一致运算符不会进行类型转换,仅当操作数严格相等时返回true

语法

x === y

例子

3 === 3   // true
3 === '3' // false
var object1 = {"value":"key"}, object2={"value":"key"};
object1 === object2 //false

也就是说:“==”会进行类型转换(数字“1”和字“符串1”),但是“===”不会对类型进行转换(字符串1就是字符串1,不等于数字1)。


参考资料:MDN web docs - 比较操作符


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Javascript 一致/严格相等 (===)与相等(==)

分享到:

发表评论

评论列表