eval【構文評価】
isFinite【有限数 判定】
isNaN【非数 判定】
parseFloat【文字列 → 浮動小数点数 変換】
parseInt【文字列 → 整数 変換】
eval【構文評価】
メモ
概要
- JavaScript 構文として評価し、 実行結果を返却 (evaluate:評価する)
- 悪意のあるコードの実行に注意
外部リンク
- ECMA-262 (英語)
eval (x) ES2024 (15) ES2023 (14) ES2022 (13)
構文
eval( x )
実行結果 (文字列以外は x そのまま)
xJavaScript 構文文字列
SyntaxError構文エラー (実装依存)
ReferenceErrorその他エラー (実装依存)
例
isFinite【有限数 判定】
メモ
概要
- 有限数の判定
- 判定前に数値変換する為、isFinite(null)・isFinite("0") は true
- 厳密に判定する場合、Number.isFinite【有限数 判定】 :数値変換なし (違いの詳細あり)
外部リンク
- ECMA-262 (英語)
isFinite (number) ES2024 (15) ES2023 (14) ES2022 (13)
構文
isFinite( number )
判定結果 (詳細は下記参照)
true:有限数
false:その他
number判定値
number | 戻り値 | |
---|---|---|
NaN | false | |
+Infinity (+∞) | false | |
-Infinity (-∞) | false | |
数値 | true (有限数) | |
上記以外は、 数値変換 | undefined → NaN | false |
null → 0 | true (有限数) | |
(数値変換可) → 数値 | true (有限数) | |
(数値変換不可) → NaN | false |
例
isNaN【非数 判定】
メモ
概要
- 非数の判定
- NaN == NaN と NaN === NaN はどちらも false の為、演算子での判定不可
但し、X !== X が true となるのは、X が NaN の場合のみ - グローバルのNaN と Number.NaN は同等
- NaN == NaN と NaN === NaN はどちらも false の為、演算子での判定不可
- 判定前に数値変換する為、isNaN(undefined)・isNaN("NaN") 等が true:厳密にするには下記の方法
- X !== X を判定:結果が true となるのは、X が NaN の場合のみ
- Number.isNaN【非数判定】 :数値変換なし (違いの詳細あり)
外部リンク
- ECMA-262 (英語)
isNaN (number) ES2024 (15) ES2023 (14) ES2022 (13)
構文
isNaN( number )
判定結果 (詳細は下記参照)
true:非数
false:その他
number判定値
number | 戻り値 | |
---|---|---|
NaN | true (非数) | |
数値 | false | |
上記以外は、 数値変換 | undefined → NaN | true (非数) |
null → 0 | false | |
(数値変換可) → 数値 | false | |
(数値変換不可) → NaN | true (非数) |
例
parseFloat【文字列 → 浮動小数点数 変換】
メモ
概要
- 数値文字列を浮動小数点数に変換
- 文字列 ⇔ 数値 については、Number【数値】オブジェクトのメモを参照
外部リンク
- ECMA-262 (英語)
parseFloat (string) ES2024 (15) ES2023 (14) ES2022 (13)
構文
parseFloat( string )
変換結果 (詳細処理は下記参照)
浮動小数点数 (Number型)
NaN:変換不可
string数値文字列
変換処理
(1) 文字列型でない場合、文字列型に変換
(2) 先頭ホワイトスペースは無視
(3) 無効文字があれば、直前の文字までを変換
(4) 変換できない場合、NaN
例
parseInt【文字列 → 整数 変換】
メモ
概要
- 指定基数に従って、数値文字列を整数変換
- 文字列 ⇔ 数値 については、Number【数値】オブジェクトのメモを参照
外部リンク
- ECMA-262 (英語)
parseInt (string , radix) ES2024 (15) ES2023 (14) ES2022 (13)
構文
parseInt( string, radix )
変換結果 (詳細処理は下記参照)
整数 (Number型)
NaN:変換不可
string数値文字列
radix基数 (2~36:詳細は下記参照)
変換処理
(1) 文字列型でない場合、文字列型に変換
(2) 先頭ホワイトスペースは無視
(3) 無効文字があれば、直前の文字までを変換
(4) 変換できない場合、NaN
radix | 処理 |
---|---|
undefined または 0 | 自動判定 stringが "0x" または "0X" で始まっていれば 16進数 それ以外は 10進数 (実装によっては、8進数も対応) |
範囲外 | NaN |
数値型以外 | 数値型に変換 |