塩焼きブログ

塩焼きに関しての研究内容を公開しています

JavaScriptの文字列で表現された数値と数値の演算

JavaScriptの式では型変換が自動的に行われる。文字列に対して文字列数値、数値、数値に対して文字列を追加した場合はどれも連結として処理される。

var res = 'hello' + '2';
var res2 = 'hello' + 2;
var res3 = 2 + 'hello';
console.log(res);
console.log(res2);
console.log(res3);
// hello2
// hello2
// 2hello

数値と文字列数値の加算についてはどうなるか。結果は結合となった。ただし除算になれば文字列数値は数値に変換されて演算された。

var res = 2 + '2';
var res2 = '2' + 2;
var res3 = '2' - 1;
console.log(res);
console.log(res2);
console.log(res3);
// 22
// 22
// 1

したがって数値として計算させたい時、それが厳密な計算であれば、文字列で数値が渡される可能性がある時、数値型に変換を行って処理をするのが望ましい。