特殊な値
言語に関係なく特殊な値と考えられている物を列挙する。
大文字小文字は言語に依存する。ここでは基本的に小文字で書く。
言語により挙動が異なるため、その都度確認するのが望ましい。
無効を表す。値を取らない、または値を返さないが、型を明示したいような場合によく使われる。
C, C++, PHP
unknown
不明を示す値
undefined
未定義を表す。
JavaScript
主に「値がない」ことを表す。
C, C++, Java, JavaScript, PHP, VBA, SQL
nul (\0)
C, C++
文字コードの NUL で言語の構文ではない。
nil
LISP, Ruby
null とほぼ同義
nothing
Julia, VBA
null とほぼ同義
none
missing
Julia
empty
VBA
Not a Number の略
「数値ではない」ことを示す「数型」の値
通常 (NaN == NaN) == false、(NaN != NaN) == true
見かけは同じだが同値関係ではなくなる。
x != x とすると NaN の時だけ true となる。(この性質を知らないと等値判定でミスをすることがある。)
infinity
無限大を示す。
-0.0 または -0 (マイナスゼロ, minus zero) 負の極小値を示す。
0.0 == -0.0 と考えてほぼよい。(今の所例外は見つかっていない)
JavaScript, Julia
-1.0 * 0.0 = -0
JavaScript での計算
https://gyazo.com/41860327ce8dd113210bd06a4edaac48
ES6 以降は Object.is で判定することができる。
それ以外
1/v で Infinity か -Infinity かで判定する。
toString で "-0"かどうかを見る。
関連