Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

グローバルプロパティ NaN は非数 (Not-A-Number) を表す値です。

Property attributes of NaN
書込可能 false
enumerable false
設定可能 false

構文

NaN

説明

NaNグローバルオブジェクトのプロパティです。

NaN の初期値は非数であり、Number.NaN の値と同等です。モダンブラウザであれば、NaN は設定、書き込みがともに不可能なプロパティとなっています。そうでない場合であっても、オーバーライドは無効となります。

プログラム中で NaN を使うことは非常にまれです。このプロパティは Math 関数が失敗したり (Math.sqrt(-1)) 、ある数へと構文解析しようとした関数が失敗するとき (parseInt("blabla")) に返される値です。

NaN に対するテスト

NaN は別の NaN 値を含むあらゆる数と同じではないと比較されます(==!====!== によって)。ある値が NaN かどうかを的確に判定するには Number.isNaN()isNaN() を使用してください。あるいは自己比較を実行しましょう。NaNだけが、自身と同等ではないと比較評価されます。

NaN === NaN;        // false
Number.NaN === NaN; // false
isNaN(NaN);         // true
isNaN(Number.NaN);  // true

function valueIsNaN(v) { return v !== v; }
valueIsNaN(1);          // false
valueIsNaN(NaN);        // true
valueIsNaN(Number.NaN); // true

仕様

仕様 状況 コメント
ECMAScript 1st Edition (ECMA-262) Standard 初期定義。JavaScript 1.3 にて実装
ECMAScript 5.1 (ECMA-262)
The definition of 'NaN' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'NaN' in that specification.
Standard  

ブラウザ互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) (有) (有)
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連項目

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: x2357, teoli, ethertank, Potappo, Mgjbot, Yuichirou
 最終更新者: x2357,