MacIEで「undefined」かどうか調べる時の注意点

WinIEのようにエラーが出ないので、原因がなかなかわかりませんでした。

alert("test1");
if (hoge != undefined) {
	//処理
}
alert("test2");

これだと、「test1」のアラートが出るだけになってしまいます。

alert("test1");
if (typeof(hoge) != "undefined") {
	//処理
}
alert("test2");

これで「test1」「test2」のアラートが出て、hogeが「undefined」ではなかった場合処理も行われます。

  • WinIE6
  • WinFirefox2

でも問題ありませんでした。