nullと0の面白い比較


nullと0を比較すると面白い結果が見られます.
console.log(null > 0); // false
console.log(null == 0); // false
console.log(null >= 0); // true
???
ちょっとおかしいです.nullが0以下
nullは0に等しくない...
null>=0はtrue?
これは、"=="演算子が他の演算子とは動作が異なるためです.
>=演算子はnull時に数値形式に変換され、0に変換されます.
だから0>=0は本当で、
同等演算子(==)ではnull値とundefined値は変換されません.undefined=nullの場合にのみtrueが返され、残りのコンテンツと比較してfalseが得られます.(もちろん、自分以外)