在javascript中的if语句中,==和===有什么区别?

时间:2012-05-17 14:16:29

标签: javascript jquery if-statement conditional-statements

  

可能重复:
  JavaScript === vs == : Does it matter which “equal” operator I use?

在一些JavaScript if语句中,我看到使用===而不是标准==

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

e.g。

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

与之相比:

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

2 个答案:

答案 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