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 |