文章内容
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 一致/严格相等 (===)与相等(==)
评论列表