Node.js 13.0.1で試してます。
!Number.isNaN
と
parseInt
を組み合わせて判定します。非数(Not a Number)の場合は
parseInt
で
NaN
が返ってくるのでそいつをさらに
Number.isNaN
で判定します。
こういう感じの関数を作成します。
1 2 3
|
function isNumber(value) { return !Number.isNaN(parseInt(value)); }
|
TypeScriptで書くとこんな感じ。
1 2 3
|
function isNumber(value: any): boolean { return !Number.isNaN(parseInt(value)); }
|
最初に記述した一覧を実行すると下記のような結果になります。
1 2 3 4 5 6 7
|
console.log(isNumber(null)); console.log(isNumber(undefined)); console.log(isNumber(" ")); console.log(isNumber("")); console.log(isNumber("aaaa")); console.log(isNumber("123")); console.log(isNumber(456));
|