Number.NaN
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 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; } 仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.nan> |