Null e undefined são forçados a false na operação null==undefined
. Então, por que eles também não são forçados a false nas operações null==false
or 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);
saída:
indefinidoEqualsFalse falso
nuloEqualsFalse falso
nuloEqualsIndefinido verdadeiro