在操作 中,Null 和 undefined 都会被强制转换为 false null==undefined
。那么为什么在 或 操作中它们也不会被强制转换为 falsenull==false
呢undefined==false
?
let undefinedEqualsFalse = undefined == false;
let nullEqualsFalse = null == false;
let nullEqualsUndefined = null == undefined;
console.log('undefinedEqualsFalse', undefinedEqualsFalse);
console.log('nullEqualsFalse', nullEqualsFalse);
console.log('nullEqualsUndefined', nullEqualsUndefined);
输出:
undefinedEqualsFalse false
nullEqualsFalse false
nullEqualsUndefined true