相关文章推荐
勤奋的番茄  ·  C++ ...·  2 月前    · 
刚毅的抽屉  ·  C++ Performance Trap ...·  9 月前    · 
精明的手套  ·  docker - MySQL server ...·  1 年前    · 

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));      // false
console.log(isNumber(undefined)); // false
console.log(isNumber(" ")); // false
console.log(isNumber("")); // false
console.log(isNumber("aaaa")); // false
console.log(isNumber("123")); // true
console.log(isNumber(456)); // true