Number.NaN
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
Number.NaN 静的データプロパティは非数 (Not-A-Number) を表す値であり、NaN と同じです。NaN の動作についての詳しい情報は、グローバルプロパティの説明を参照してください。
試してみましょう
function clean(x) {
if (x === Number.NaN) {
// true になることはない
return null;
}
if (isNaN(x)) {
return 0;
}
}
console.log(clean(Number.NaN));
// 予想される結果: 0
値
数値 NaN です。
Number.NaN のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
解説
NaN は Number の静的プロパティですので、数値のプロパティとしてではなく、常に Number.NaN として使用してください。
例
>値が数値であるかどうかのチェック
js
function sanitize(x) {
if (isNaN(x)) {
return Number.NaN;
}
return x;
}
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.nan> |