相等操作符

 

相等操作符==并不表示严格相等

eg:

var a = false;

var b ="";

if(a==b){
   alert("a equals b");
}
 

 这个条件语句的求值结果是true,为什么?

因为相等操作符==认为空字符串与false的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型:

var a = false;

var b ="";

if(a===b){
   alert("a equals b");
}
 

这一次,条件表达式的求值结果就是false。因为即使可以认为false与空字符串具有相同的含义,但Boolean与String并不是一种类型

当然,对于不等操作符!=也是如此。如果想严格不相等,就要使用!==。

原文地址:https://www.cnblogs.com/wyy725872/p/4437364.html