JavaScript講座第2回
変数
今回は変数についての講座です。変数ってなに?という人がいると思いますので説明します。変数とは何かを入れることのできるうつわとおもってください。変数名 hen に 5 という数字を代入すると、hen を 5 として利用できます。 hen + 2 は 7 になります。また、数値以外にも文字を代入することもできます。
変数宣言
変数を利用するときには必ず宣言が必要です。宣言が無ければエラーが発生して動きません。宣言するには var というキーワードを使います。
var number;
number = 25;
上記は「変数名 number の変数を使用しますよ」と宣言しています。次にnumberに25を代入しています(変数に初めて値を代入することを初期化といいます)。宣言をすれば変数を利用する事ができます。文字や数値のどちらでも var を使って宣言するだけです。
var name = "ABC";
上記は変数nameを宣言して、同時に文字列ABCで初期化しています。文字を代入(初期化)するときには"(ダブルクォーテーション)又は'(シングルクォーテーション)でくくります。また、以下のスクリプトはいずれも有効に動きます。
var name1 = "ABC";
var name2;
name2="CDE";
var num1;
num1 = 25;
var num2 =36;
変数を使った演算
さて、JavaScriptでは演算ができないの?と言われそうなのでそろそろ演算してみます。
var a = 20; //aを宣言し20を代入
var b = 30; //bを宣言し30を代入
var c; //cを宣言
c = a + b; //cにa+bを代入(cは50が代入されます。)
document.write ( c ); //cを表示
以下は文字の演算です。文字列の場合は文字列をただ単に連結するだけです。数字と同じくキーワード + を使います。
var a = "abc"; //aを宣言し文字列abcを代入
var b = "def"; //bを宣言し文字列defを代入
var c; //cを宣言
c = a + b; //cに文字列abcdefを代入
document.write ( c ); //cを表示
以下は変数 i を宣言し、1で初期化します。次に i の値に1足した値を i に代入します。
var i; //iを宣言
i = 1; //iを1で初期化
i = i + 1; //iの値を1だけ大きくする(iは1だったので、2になりました。)
document.write( i ); //iを表示
ここで、
i = i + 1;
という、数学では到底あり得ない表現が出てきました。 =
は数学で言う等しいと言う意味ではありません。代入という意味があります。=をはさんで右側を左側に代入するという意味があります。数学で言うイコールは、JavaScriptでは == で表します。
以下の式はいずれも同じ意味になります。特殊な表現がありますので難しいかもせれません。
i = i + 1; //表現はいろいろですが、いずれも変数
i の値に1を足した数を、変数 i
に代入しています。
i += 1;
++i;
i++;
上記のように、変数に1を足すことをインクリメントと呼ぶことが多いです。逆に変数から1を引くことをデクリメントと呼ぶことがあります。以下はいずれもデクリメントを行っています。
i = i - 1; //表現はいろいろですが、いずれも変数
i の値に1を引いた数を、変数 i
に代入しています。
i -= 1;
--i;
i--;
配列変数
CやBasicではよく使われる配列変数です。変数は便利ですが、一度にたくさんの変数を扱うときには変数だけでは不便です。そこで一度にたくさんの変数を扱うことができる配列を使います。
ary = new Array();
上記は変数名 ary の配列変数を宣言しています。配列の宣言にはキーワードnew Arrayを使います。
var i = 0;
ary = new Array(); //配列aryを宣言します
ary[0] = 1; //ary[0]を1で初期化
ary[1] = 2; //ary[1]を2で初期化
ary[2] = 3; //ary[2]を3で初期化
document.write(ary[i]); //ary[0]を表示
i++; //変数 i の値に 1
を足します。0だったので1になります。
document.write(ary[i]); //ary[1]を表示
i++; //変数 i の値に 1
を足します。1だったので2になります。
document.write(ary[i]); //ary[2]を表示
次回は制御に関して紹介します。制御を使えば同じ命令を何度も繰り返して実行したり、条件によって処理を分岐する事ができます。