Javascript中比较两个数据是否相等,有相等操作符(==)、全等操作符(===)。相等操作符只对比等式两边的值是否相等,不同数据类型之间对比会进行隐性转换,转换后值相等即返回 true,否则返回 false;全等操作符不仅比较等式两边的值是否相等,还要比较数据类型是否相同,只有值相等并且数据类型相同才返回 true,否则返回 false。
如下代码:
console.log(123==’123′);
=>true
console.log(123===123);
=>true
console.log(123===’123′);
=>false
特别需要注意 0、1、false、true、null、undefined 这些值的比较,0 与 null、undefined 不相等,null 与 undefined 相等但不全等:
console.log(0==false);
=>true
console.log(0===false);
=>false
console.log(1==true);
=>true
console.log(1===true);
=>false
console.log(0==null);
=>false
console.log(0===null);
=>false
console.log(0==undefined);
=>false
console.log(0===undefined);
=>false
console.log(null==undefined);
=>true
console.log(null===undefined);
=>false