javascript

JavaScriptの数値判定 ~ isNaN vs isFinite ~

JavaScriptで数値判定をするときにどうすればよいかまとめ
Number.isNaN()、Number.isFinite()はES6で策定されたものです。
結論として大抵の場合は、ES6が使える状態で型も含めた判定をするならNumber.isFinite(),そうでなければisFinite()もしくはポリフィルを使うといいでしょう。
判定結果は下記です。数値の判定なので数値でないことを判定するisNaNは!をつけていることに注意してください。

!isNaN isFinite !Number.isNaN Number.isFinite
'str' false false false false
'123str' false false false false
123 true true true true
'123' true true true false
0xFF true true true true
true true true true false
undefined false false true false
null true true true false
NaN false false false false
Infinity true false true false
1/0 true false true false
0 true true true true
'0' true true true false

-javascript