-2

可能重复:
JavaScript === vs ==:我使用哪个“相等”运算符有关系吗?

在一些 JavaScriptif语句中,我看到=====.

这些有什么区别?我应该使用其中一个而不是另一个吗?

例如

if (variable == 'string') {
 return;
}

相比:

if (variable === 'string') {
 return;
}
4

2 回答 2

8

=== 还检查类型是否相等

例如1=="1"为真但1==="1"为假

于 2012-05-17T14:17:43.103 回答
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
}

特别是在比较虚假值时非常重要。在 Javascript 中,以下所有内容都将被视为 false 并进行轻松比较:

* false
* null
* undefined
* empty string ''
* number 0
* NaN
于 2012-05-17T14:17:19.687 回答