javascript isNaNでの数値判定について
- 2021.02.14
- javascript
- javascript

javascriptで、isNaNでの数値判定を行うと、nullやtrue・falseなどが数値と判定されるため、使用すべきではないので、その実例を記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 84.0.4147.105
数値判定
isNaNでの数値判定を行うと、javascriptの仕様で、nullやtrue・falseなどが数値に変換されてしまうため、数値であると判定されてしまいます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
console.log( isNaN('a') // true ); console.log( isNaN(1) // false ); console.log( isNaN(-1) // false ); // nullは0扱い console.log( isNaN(null) // false ); console.log( isNaN(true) // false ); console.log( isNaN(false) // false ); |
数値判定を行う場合は、正規表現を用いるのがおすすめです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// + - 符号と小数点を含む数値判定 const regex = RegExp(/^[-+]?[0-9]+(\.[0-9]+)?$/); console.log( regex.test(1) // true ); console.log( regex.test(-1) // true ); console.log( regex.test(true) // false ); console.log( regex.test(false) // false ); console.log( regex.test('a') // false ); console.log( regex.test(null) // false ); |
-
前の記事
ASP.NET Core データベース ファースト(db first)でモデルを生成する 2021.02.14
-
次の記事
python ファイル・フォルダをコピーする 2021.02.14
コメントを書く