😂
[JavaScript]NaN とは(備忘録)
1.はじめに
・NaN(Not-a-Number)は、「数値でない」ことを示す特殊な数値です。
・NaN かどうか判定する場合、Number.isNaN() を使用するのが最も適切です。
2.サンプルプログラム
〇例1
Sample_1.js
console.log(0/0);
console.log(10 + NaN);
// NaNのデータ型を確認
console.log(typeof NaN);
// 曖昧な比較
console.log(NaN == NaN);
// 厳密な比較
console.log(NaN === NaN);
// 曖昧な比較
console.log(NaN != NaN);
// 厳密な比較
console.log(NaN !== NaN);
実行結果
NaN
NaN
number
false
false
true
true
重要:
NaN と NaN が一致しているかどうかを判定すると、false を返す特徴を NaN は持っています。
〇例2:Number.isNaN() を使用し、NaN か判定
Sample_2.js
console.log(Number.isNaN(NaN));
console.log(Number.isNaN(0/0));
console.log(Number.isNaN(10 + NaN));
console.log(Number.isNaN('ABC'));
console.log(Number.isNaN(123));
実行結果
true
true
true
false
false
重要:
Number.isNaN() は、与えられた値が数値且つその値が NaN である場合、true を返します。
そうでない場合、false を返します。
〇例3:Number.isNaN() とif文を使用し、NaN か判定
Sample_3.js
const num_1 = 0;
const num_2 = 0;
// 判定結果を再使用しない場合の記述
if (Number.isNaN(num_1/num_2)) {
console.log('NaNです');
} else {
console.log('NaNではありません');
}
// 判定結果を再利用したい場合の記述
result = Number.isNaN(num_1/num_2);
if (result) {
console.log('NaNです');
} else {
console.log('NaNではありません');
}
実行結果
NaNです
NaNです
3.参考
・【JavaScript入門】今さら聞けない!NaNの使い方と判定方法まとめ
・Number.isNaN()
4.その他
・実行環境
Discussion