Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年9月.
Number.isNaN() は静的メソッドで、渡された値が数値型の NaN であるかどうかを判定します。入力が数値型でなかった場合は false を返します。元となるグローバルの isNaN() よりも堅牢な版です。
NaN かどうか検査される値です。
論理値で、与えられた値が数値で、かつ値が NaN である場合は true を返します。そうでなければ false です。
Number.isNaN() 関数は、NaN と等しいことをチェックする便利な方法を提供します。なお、NaN と等しいことは == 演算子でも === 演算子でも検査できません。JavaScript の他のすべての値との比較とは異なり、一方のオペランドが NaN であれば、もう一方のオペランドが NaN であっても false と評価します。
JavaScript の有効なすべての値の中で、x !== x は NaN だけが true になりますので、Number.isNaN(x) は x !== x の検査を置き換えることができますが、後者の方が可読性が低くなります。
グローバルの isNaN() 関数とは異なり、 Number.isNaN() は強制的に引数が数値に変換される問題の影響をうけません。これにより、通常 NaN に変換されるが実際には NaN ではない値が、安全に渡されます。つまりこの関数は、数値型であり、かつ NaN である値が渡されたときのみ、 true を返すということです。
Number.isNaN() は引数を数値へ変換することを試みないので、数値でないものはすべて false を返します。以下のものはすべて false になります。
グローバルの isNaN() は、引数を数値に変換します。
| ECMAScript® 2027 Language Specification # sec-number.isnan |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年8月26日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.