メインコンテンツまでスキップ

値と式と演算子

次のコードを実行すると、Hello Worldが画面に表示されました。

script.js
document.write("Hello World");

"Hello World"のように"(ダブルクォーテーション)で囲まれたを、文字列と呼びます。

文字列の一種です。数値文字列と同じの一種ですが、プログラムの中に直接記述することができます。

値の種類

script.js
document.write(3);

演算子を用いると、を用いて計算をすることができます。例えば+(加算演算子)で、足し算の計算を行うことができます。

script.js
document.write(3 + 4);

演算子優先順位

演算子には、優先順位が設定されています。

script.js
document.write(3 + 4 * 5);

*(乗算演算子)は+より優先順位が高く設定されているため、上記のコードの実行結果は23となります。

このコードにおいて、3 + 4 * 5や、4 * 54と呼びます。また、が計算され、その結果としてのが確定することを式が評価されるといいます。

3 + 4 * 5評価は、先に4 * 5評価されて20になり、次に3 + 20評価されることにより、23というとなると考えることができます。

いろいろな演算子

演算子が適用できるのは、何も数値だけではありません。文字列に適用できる演算子もあります。 先ほどの+(加算演算子)は、文字列同士で使用された場合は、文字列結合演算子となります。

script.js
document.write("Hello" + "World");

画面にはHelloWorldと表示されるはずです。

もう少し複雑な例を見てみましょう。

script.js
document.write(3 + 4 + "Hello");
document.write("Hello" + 1 + 2);

このような場合、演算子結合規則を考える必要があります。

+の結合規則は左から右なので、3 + 4 + "Hello"(3 + 4) + "Hello""Hello" + 1 + 2("Hello" + 1) + 2と解釈されることになります。

+は、両辺が数値の場合のみ加算演算子として振る舞い、片方が数値で片方が文字列の場合は数値文字列に変換してから文字列結合演算子として機能します。このため、最終的な全体の評価結果は前者が"7Hello"、後者が"Hello12"となるのです。

代表的な演算子

演算子意味
+足す1 + 12"A" + "B""AB"
-引く2 - 11
*掛ける2 * 24
/割る4 / 22