Number.isNaN()
これは実験的なテクノロジーであり、Harmony(ECMAScript 6)計画の一部です。 このテクノロジーの仕様は固定されていないため、 様々なブラウザで使用する際は互換性テーブルを確認してください。 実験的な技術の文法と挙動は、仕様変更によってブラウザの将来のバージョンで変更される可能性があることに注意してください。
与えられた値がNaNか否かを調べます。 元となるグローバルなisNaN()は、 より古いバージョンのブラウザをサポートします。
文法
Number.isNaN(testValue)
引数 | 説明 |
---|---|
testValue | NaNか否かを調べる値を指定します。 |
説明
等価演算子==と===のどちらも、
NaNをNaNで判定するとfalseと評価するため、関数Number.isNaN()
が必要になりました。
このような挙動は、JavaScriptでの他の全ての値比較と異なります。
グローバルのisNaN()関数と比較して、
Number.isNaN()
は強制的に引数を数値に変換しないという点で優れています。
これは、NaNに通常の動作で変換される値を安全に渡すことが出来るようになるが、
実際にはNaNと同じ値では無いことを意味します。
これは、数値型の値のみであり、またそれがNaNであればtrueを返すことも意味します。
例
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0) // true
// その他faseと判定されるもの
Number.isNaN(undefined);
Number.isNaN({});
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN('37');
Number.isNaN('37.37');
Number.isNaN('');
Number.isNaN(' ');
Number.isNaN('NaN');
Number.isNaN('blabla'); // 例としてグローバルのisNaN()を使用すれば、
// これの結果はtrueになります。
仕様
ブラウザ互換性
機能 | Chrome | Firefox (Gecko) |
IE | Opera | Safari |
---|---|---|---|---|---|
基本 | 25 | 15 (15) | × | ◯ | × |
機能 | Android | Firefox Mobile |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|
基本 | × | 15.0 (15) | × | × | × |
関連項目
- Numberオブジェクトに属しています。
© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
- 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
- MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。