NaNとは
NaNは、「Not a Number」の略で、数値ではないものを表します。
js
console.log(Number.NaN);//NaN
NaNとして判定されるもの
以下の場合は、結果としてNaN
が返されます。
- 0を0で除算した場合
- InfinityをInfinityで除算した場合
- InfinityをInfinityで引き算した場合
js
console.log('0/0は' + (0/0));// 0/0はNaN
console.log('Infinity/Infinityは' + (Infinity/Infinity));// Infinity/InfinityはNaN
console.log('Infinity - Infinityは' + (Infinity - Infinity));// Infinity - InfinityはNaN
falseとして判定されるもの
NaN
は自分自身と等しくないという性質と、すべての数値と等しくないという性質を持ちます。
そのため、以下の場合は結果としてfalseが返ります。
js
var num1 = NaN;
var num2 = NaN;
console.log(num1 == num1);//false
console.log(num1 === num1);//false
console.log(num1 == num2);//false
console.log(num1 === num2);//false
NaNであるかどうかを判定する方法
NaNであるかどうかを判定するにはisNaN
を用います。NaNの場合はtrueが返り、NaNでない場合はfalseが返ります。
js
let str = new String('123');
console.log(Number.isNaN(str));//false
let num = new Number(123);
console.log(Number.isNaN(num));//false
let num2 = new Number();
num2 = 0 / 0;
console.log(Number.isNaN(num2));//true;
console.log(Number.isNaN(NaN));//true;
console.log(Number.isNaN(Number.NaN));//true;
console.log(Number.isNaN(0 / 0));//true;
以上で記事の解説はお終い!
HTML、CSS、JavaScriptをもっと勉強したい方にはUdemyがオススメ!同僚に差をつけよう!