nullと undefinedの違い

GreaseMonkeyスクリプトを書いていたらなんかエラー出てるなって
放置していたけど意味がようやく理解できた。Javascriptって nullか
どうかのチェックで undefinedのチェックができないんですね。


ていうか undefinedと nullが違うということさえ知らなかった。
ハッシュとかオブジェクトで存在しない値を取得しようとしたときは
undefinedが返る。あと初期化がされていない変数。

あまり書かないから知識がいい加減過ぎました。

#!/usr/bin/js

var sample;
print(sample); // 初期化がされていない

var sample2 = {};
print(sample2.notExist); // 存在しないプロパティ

となると Javascriptっていつ nullが入るのでしょうか ?
てっきり上記のような例の場合は nullが入ると思い込んで
いたんですけど。明示的に nullを入れるということになるの
ですかね?