可能重复:
JavaScript === vs == : Does it matter which “equal” operator I use?
在一些JavaScript if
语句中,我看到使用===
而不是标准==
。
这些有什么区别?我应该使用其中一个而不是另一个吗?
e.g。
if (variable == 'string') {
return;
}
与之相比:
if (variable === 'string') {
return;
}
答案 0 :(得分:8)
===也检查类型等于
例如1=="1"
为真,但1==="1"
为假
答案 1 :(得分:3)
===
是严格比较(也是检查类型),而==
进行更轻松的比较。
例如:
var a = 'test';
if (a == true) {
// this will be true
}
if ( a === true) {
// this will not be true
}
另一个例子:
var b = '0';
if ( b == 0){
// this will be true
}
if ( b === 0 ){
// this will not be true
}
特别是在比较 falsy 值时非常重要。在Javascript中,通过轻松比较,以下所有内容都将被视为false:
* false
* null
* undefined
* empty string ''
* number 0
* NaN