JavaScript eval()の数値変換について
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/sibainu20240124top-1.jpg)
今日は、2回目の登場だ。今日の散歩は雪が降って気持ちがいいという顔している柴犬です。
柴犬に積もりそうなくらい降りました。
概要
WEBでいろいろ調べるためコードをみていたところ、eval() を数値変換に使っているHPに出会いました。
こんな感じだったと思います。
var a = "2";
var b = eval(a)+1
これでいいのか確かめることにしましたので記録します。
確認1
var a = "2";
var b = eval(a)+1
これはいいようです。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-1.jpg)
確認2
var a = null;
var b = eval(a)+1
こうなりましたか。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-2-1.jpg)
確認3
var a = undefined;
var b = eval(a)+1
そうですね。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-3.jpg)
確認4
var a = NaN;
var b = eval(a)+1;
こうなりました。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-5.jpg)
確認5
var a = "2";
var b = parseInt(a)+1;
確認1と同じ結果になりました。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-4.jpg)
確認6
var a = null;
var b = parseInt(a)+1;
確認2と違った結果になりました。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-6-1.jpg)
確認7
var a = undefined;
var b = parseInt(a)+1;
確認3と同じ結果です。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-7.jpg)
確認8
var a = NaN;
var a = parseInt(a)+1;
確認4と同じ結果です。
![](https://www.sibainu.org/wordpress/wp-content/uploads/2024/01/wp_sample-8.jpg)
結論
eval()を数値変換した場合、parseInt()とは null の変換で結果が異なりました。数値変換は parseInt() で変換した方がよさそうです。
この件はここまでとします。