JavaScriptは型付けが弱い言語を呼ばれ文脈(コンテキスト)により演算子の意味が異なることがある。
数値や真偽値を持つ変数が文字列を引数とする関数へ渡されると、暗黙のうちに文字列へと変換されたあと、関数によって処理さえっる。
var num = 10;
alert(num); //「10」を表示
プラス記号+で文字列を連結させることができる。+の前後の少なくとも一方が数字とは扱えない変数を+の両側に置くと文字列押して扱われて結合される。
var sum = 20;
var str = 合計: + sum;
alert(str) //「合計:20」と表示
次のような場合も全体は文字列となる。
var s1 = 3 + 2 + 1; //321となる
var s2 = 3 + 2 + 1; //51となる
演算子が -, *, / の場合、文字列を対象とした演算はできないので、数値として扱われる。
var n1 = 35 – 3; //結果は32となる
var n2 = 3 * 3; //結果は9となる
var n3 = 30 / 3; //結果は10となる