非严格相等==
相等操作符比较两个值是否相等,在比较前将两个被比较的值转换为相同类型。
然后再将两个值做全等操作符 === 进行比较。
let num = 0; let obj = new String("0"); let str = "0"; let b = false; console.log(num == num); // true console.log(obj == obj); // true console.log(str == str); // true console.log(num == obj); // true console.log(num == str); // true console.log(obj == str); // true console.log(null == undefined); // true //两者都是假的,除非有特殊情况 console.log(obj == null); console.log(obj == undefined); //有趣的例子 '' == '0' // false 0 == '' // true 0 == '0' // true false == 'false' // false false == '0' // true false == undefined // false false == null // false null == undefined // true ' trn ' == 0 // true
速查表
严格相等===
请持续使用严格相等进行判定,提前做好转换可以预防很多不必要的错误!
还没有评论,来说两句吧...