JavaScript

文字列連結の+と加算の+

More than 1 year has passed since last update.

文字列連結の+と加算の+

JavaScriptの+は、文字列連結に使うときと、加算に使うときがあるので、気をつけてください。
例えば、以下のようなコード

var name = 'Daisuke';
var age = 38;

console.log(name + age);//Daisuke38

ここでは、ageが文字列に変換されて、nameと連結されています。
それに対して、

var name = 'Daisuke';
var age = 38;

console.log(age + age);//76

+の両側ともに数字であるので、加算されています。
では、以下のようなコードはどうなるでしょうか?

var age = 38;
var isJapanese = true;

console.log(age + isJapanese);  //39

加算されてしまいましたね。isJapanese がtrueなので、1に変換されて加算されました。
では、true falseを文字列に変換するにはどうすれば良いか。こういう手もありそうです。

var age = 38;
var isJapanese = true;

console.log(age + '' + isJapanese);//38true

あとは、toString()や、String(isJapanese)を使う手もあるようです。