【JS】null, undefinedチェックについて

nullチェック、undefinedチェック、これらを両方書くのはしたくない。
↓こんなの。

if (val === null || val === undefined) {
}

でもこれらの値の違いを明確にして実装されているプロダクトもあまりない。

ので、一般的に===で厳密にチェックすることが望ましいが、空値のチェックに関しては、

if (val == null) {
}

と書くこともありかも。

およそ空値に使用されうる値についてのnullとの==結果は以下。
ちゃんと(?)undefinedのときだけtrueになってくれる。

console.log(null == undefined)  // true
console.log(null == 0)  // false
console.log(null == "0")  // false
console.log(null == false)  // false
console.log(null == "")  // false
console.log(null == {})  // false