undefined

var test;
alert(test);

"undefined"と表示されます。
だから、変数の値をリフレッシュしたいときは
undefinedってのを代入すればいいんだべー、と思って

var test = "hoge";
test = undefined;

って書いてました。


最近気づいたのですが、
この場合のundefinedは未定義の特別な値ではなく
undefiendという宣言も初期化もされていないundefinedという変数を
testに代入しているらしいのです。
(結果、未割当な値が代入されるのでtestはundefinedになる)
undefinedという概念は存在するんだけど、特別なキーワードではないので

undefinedという上書き可能なプロパティのようです。
id:sawatさんからご指摘いただき修正しました。2007/8/22)

undefined = "hogehoge";
alert(undefined);  //hogehogeと表示

普通にこういう事になります。


常識臭い?
ってか、そもそもそんな事しない?
明示的にundefinedにリフレッシュする場合は、

var test = 10;
alert(test);   //10と表示
test = void(0);
alert(test);    //undefinedと表示

とかすれば良いみたいです。