undefinedとnull

(Web関連用語)

厳密な比較演算子 === において undefined と null は区別されるが、ゆるい比較演算子 == においては両者は区別されない。
0 や 空文字列のような falsy な値(false とみなされる値)は受け付けつつ、null と undefined を弾きたい、という場面において、「null とのゆるい比較演算子による比較」は歴史的にもよく使われている。

console.log(undefined === null); // false
console.log(undefined == null); // true

function checkValue(value) {
    if (!value) {
        console.log("value is falsy.");
    }
    if (value == null) {
        console.log("value is null or undefined.");
    }
}

checkValue(); // value is falsy & value is null or undefined
checkValue(""); // value is falsy
checkValue(0); // value is falsy
inserted by FC2 system