大抵の、特に変数の型宣言を行わないタイプの言語では、型の異なる値の条件式は悩みの種です。 Javascriptもご他聞に洩れずというか、undefinedとnullが異なる分だけ更にややこしくなっているようです。 暗黙の型変換で痛い目にあわないよう、ちょっと実験してまとめてみます。 実験にはとりあえず、手っ取り早いので Jash を使用。 一緒に試してみるならば、こちらのBookmarkletをクリックしてコンソールに入力しながら読むとわかりやすいかもしれません。 nullとundefined。たまに「同じもの?」と聞かれることもあるので、とりあえず確かめて見ます。 >> null==undefined true あれ、同じでしょうか? >> null===undefined false もちろん違います。 しかし、== 演算子で比較する限りは「同じ」と言ってもよいようです。 では、実際は