undefinedはかなり大きな数らしい件について
2006 年 4 月 18 日 火曜日
trace( undefined >= Infinity)
がtrueを返してくださる件について。
色々と検証した結果、”>=”, “<="といったエクスプレッションを用いた場合、undefinedは必ずtrueを返すらしい。しかし、">“,”<"の場合は普通にfalseを返す。よくわからんが、これはECMAの正しい仕様なんでしょうか?この謎現象で、バグを発見するのに1時間以上かかってしまった。
これって冷静に考えるとスゲェ怖い仕様だよな。>=, <=の含まれる全てのIF文は、何かの間違いでundefinedが渡るだけですべて地雷になる可能性がある。Flashではundefinedはシカトできると思い込んで、適当なコード書いてるとドツボにはまるというメモ。