変数と定数

変数の宣言

変数は宣言しなくても使えますが,明示的に宣言する場合は次のように記述します(aという名前の変数を宣言する).

var a;

複数の変数を宣言するときは,変数と変数の間をカンマで区切って宣言します(aという名前とbという名前の変数を宣言する).

var a,b;

変数の名前は原則自由ですが,次の点に注意して下さい.

変数の型

数値・文字列・論理値(trueとfalse)・null値(何も入っていないことを示す)があります.数値で表現できる範囲はOSUAによって異なります.

定数

よく使われるのは10進定数ですが,8進定数・16進定数・指数指定の実数もあります.

定数 意味
0123 8進数で123を表します.先頭に0をつけます.
0x8a 16進数で8aを表します.先頭に0xをつけます.
0.12e-3 10進数で(0.12)-3を表します.指数部の前にはeをつけます.

なお,アルファベットは大文字でも小文字でも構いません.

演算子

代入演算子

変数に値を代入するときは,

変数名=値(定数や変数);

と記述します.以下に変数aに10進定数8を代入する式,変数aの値を8プラスする式,変数aの値を変数bのもの,変数cに文字 A ,変数dに文字列 str を代入する式をそれぞれ示します.

a=8; a=a+8; a=b; c='A'; d="str";

文字(列)の代入はシングルクォーテーションかダブルクォーテーションを使います.なお,変数の宣言と同時に初期化を行えます.

var a=8;

算術演算子

式の意味
a+b変数aと変数bを加算
a-b変数aと変数bを減算
a*b変数aと変数bを乗算
a/b変数aと変数bを除算
a%b変数aを変数bで除った余り

演算の優先順位は数学と同じと考えて差し支えありません.優先順位を変える場合は( )を使います.例えば,8×{8×(8+8)+8}+8を表すと次の通りです.

8*(8*(8+8)+8)+8

一般に,a=a+N(Nは変数や定数)は下記のように省略して書けます.

a+=N;

+ が - * / % の場合でも同じです.

続いて,インクリメント演算子 ++ とデクリメント演算子 -- を説明します.おおざっぱに言えば変数の値をそれぞれ1プラス,1マイナスします.これらの演算子を代入式で使う場合は注意が必要です.具体的には以下のようになります(変数bの値は8とします).

実行後の変数aの値実行後の変数bの値
a=b++;89
a=++b;99
a=b--;87
a=--b;77

条件演算子と論理演算子

「制御構造」のページでよく使う演算子を説明します.

式の意味
a==baとbが等しい
a!=baとbが等しくない
a>baがbより大きい
a<baがbより小さい
a>=baがb以上
a<=baがb以下

次に,論理演算子を説明します.

式の意味
条件1 && 条件2条件1と条件2が成立したら真,そうでなければ偽.
条件1 || 条件2条件1と条件2のどちらかが成立したら真,そうでなければ偽.
!条件1条件1が成立したら偽,そうでなければ真.

最後に,少しテクニカルな演算子を示します.

b=(a==8) ? 10 : 20;

この例では,aの値が8なら10を,aの値が8でないなら20をbに代入します.

連結演算子

文字列は連結できます.次の例はいずれもstrに 本日は晴天なり が代入されます(変数sunnyは文字列 晴天なり が代入されているとします).

str = "本日は"+"晴天なり"; str = "本日は"+sunny;

配列

配列の宣言の例を示します.

a = new Array(8);

この例では,8個の要素をもった1次元配列aができます.添字は0から7までです.代入は以下のようにします.

a[0] = 8;