タグ

2014年3月28日のブックマーク (1件)

  • NaNの判定について - Qiita

    NaNをisNaNで判定しようとするとおかしな事になる可能性があるので気をつけましょうって話です。 Effective JavaScriptで紹介されていたのですが、知らなかったのでメモです。 isNaNの挙動 標準で用意されているisNaNにNaNを渡すと確かにtrueが返ります。 ただ、暗黙の型変換によって引数を数値へと変換してしまう為、NaN自身でなくても、NaNへと変換される類のものに対してもtrueを返してしまいます。 isNaN(NaN); // true isNaN("foo"); // true isNaN(undefined); // true isNaN({}); // true isNaN({ valueOf: "foo" }); // true isNaNはNaNであるかの判定ではなく、引数が数値へ変換可能かどうかの判定に使われるみたいです。 NaN判定のイディオム

    NaNの判定について - Qiita
    funnelbit
    funnelbit 2014/03/28