非数(英語:Not a Number)とは未定義な値か、特に浮動小数点数の計算の結果で、表すことができない数値(データ型)のことを言います。
例えば、無限、0で割り算された結果、未定義、負数の平方根 (浮動小数点数は実数ですが、これは虚数です) などは非数と言います。
かんたんに言うと、JavaScript プログラムで、2つの引数が未定義の状態で、割り算をすると、結果は NaN になります。このために、この割り算はプログラムを壊す可能性があります。ここで、この計算が大きなアルゴリズムの小さな一部分である場合、実際どこに問題があったかを理解するのはとても苦痛です。幸いにも、除数が 0 を取りえることがわかっていて、計算結果が NaN となるため、最初にそうした計算を防ぐためのテスト条件を設けることや、起こったあとに通知することができます。
もっと学ぶ
一般的な知識
- Wikipedia によるNaN