こんにちは、水田です。
JavaScriptのnullについてです。nullは意図的に値が存在しないことを示すプリミティブな値です。オブジェクトが意図的に空であることを表現するために使用され、変数がまだオブジェクトに割り当てられていない状態や、関数が戻り値なしを意味する場合などに利用されます。
nullは型がオブジェクトであるという特殊な特性を持っていますが、これは歴史的な理由からであり、実際にはオブジェクトではありません。
また、nullは論理値に変換されるとfalseとして扱われます。undefinedと異なり、nullは「存在しない」「無効な値」を明示的に表現するために使われます。等価演算子でnullとundefinedを比較すると、==(等価)では等しいと評価されますが、===(厳密等価)では異なる値とみなされます。
typeof null; // "object"
null == undefined; // true
null === undefined; // false