JavaScript

JavaScript's NaN can be described as a special value that represents an invalid or undefined result of a calculation as a number.

NaN

 JavaScriptにおける NaN は、"Not a Number"の略で、「数ではない」という意味です。数学的な操作や計算の結果が数値として意味をなさない場合に、JavaScriptはこの NaN という特別な値を使います。例えば、数値ではない文字列を数値に変換しようとした時や、0 で割ろうとした時などに NaN が生じます。

 NaN の特徴として、どんな値とも(自分自身を含む)等しくないという性質があります。つまり、NaN が他のどの数値とも等しくないのと同様に、NaN === NaN という評価も false となります。これは、NaN が「不定形の数値」として扱われるためです。不定形とは、具体的な数値が特定できない状態を意味します。

 JavaScriptでは、NaN を特定するために isNaN()関数が提供されています。この関数は、引数が NaN であるかどうかを判断し、true または false を返します。これにより、計算の結果が有効な数値かどうかを確認できます。

 例えば、"abc" / 5 という計算を行った場合、結果は数値になり得ないので NaN が返されます。しかし、この NaN を使ってさらに計算を進めようとすると、結果も NaN になることが多く、計算が意図しない方向に進む可能性があります。このように NaN は計算の中で非常に特殊な役割を持ち、プログラミングにおいて注意深く扱う必要があります。