プログラミング入門-5 変数を使いましょう

リテラル

前回、alert( ) 関数を呼び出すことで警告ボックスを表示しました。

alert("Hello, world!");

関数の引数として渡している “Hello, world!”という文字列は固定の値で、「リテラル(literal)テキスト(text)」と言います。この文字列はプログラムのソースコードに書き込んであるので、実行するときに変更することができません。

リテラル文字列は’(シングルクオーテーション:quotation)または”(ダブルクオーテーション:double quotation)で囲んで記述します。かならず挟まなければならず、同じものの組み合わせで書きます。囲むため、’や”を文字列自体に書き込むことができません。このため、「エスケープ(escape)シーケンス」という方法を使って記述することができます。それは、’や”の前に\(バックスラッシュ: back slash)をつける方法です。たとえば「リテラルは’や”で囲みます」をリテラルで書くときは、

alert("リテラルは\'や\"で囲みます");

のように書きます。(注意:Windows日本語版では¥マークを\として書きます)

改行

文字列に改行を入れたい場合は「\n」を「改行文字(newline character)」として挿入します。また、文字列にエスケープのためのバックスラッシュ\を入れたい場合は、二つ「\\」と書きます。これを両方使った文字列を表示してみましょう。

alert("改行するには、\\nを\n挿入します。");

これで、以下のように表示されます。

改行するには\nを
挿入します。

エスケープシーケンスには他にもいろいろな種類があります。ググって確認してください。

実行中に変化する「変数」

プログラム実行中に変化する入れ物を作り、そこに値を入れることで処理中に様々なものを処理できます。この入れ物を「変数(variable)」と言います。数学の式でXやYといった文字を使って計算をすることがありますが、あれも変数です。コンピューターの世界では数学用語が多用されています。

前回書いたコードを以下のように書き換えましょう。

var output_text = "Hello, world!";
alert(output_text);

前回とまったく同じように動作したと思います。

var output_text の行を「変数の宣言(declaration)」といいます。output_textは「変数名(variable name)」です。= で右に値(リテラルか変数か式)を書くと、その値が変数にセットされます。これを「代入(substitution)」するといいます。

変数なので変更が可能です。

var output_text = "Hello, world!";
alert(output_text);
output_text = "リテラルは\'や\"で囲みます";
alert(output_text);

3行目ではvarを記述していません。これは1行目で宣言されたoutput_textを使っているからです。このように同じ変数を使い回すことになります。

数値の取り扱い

“”で囲んだものは文字列ですが、「数値(value)」を取り扱うこともできます。数値も文字列と同じようにソースコードに直接書いたリテラルと変数の両方で取り扱えます。数値は文字列と違って計算ができます。数値の計算はリテラルと変数の組み合わせで自由に行えます。以下の例は、変数aとbを宣言し、1と2を代入したあと、aとbを足した値をaに代入している例です。このように文章で書くより、プログラミング言語のほうがわかりやすいと思います。

var a = 1;
var b = 2;
a = a + b;
alert(a);

このプログラムを実行すると、警告ボックスに「3」と表示されます。

文字列の結合

文字列を表示したりするにあたり、複数のリテラルや変数の値を組み合わせてメッセージを組み立てたいことがあります。そのような場合、文字列を「+」文字で結合することができます。
たとえば、先ほどのプログラムを「結果は 3」のように表示するには、alert関数を以下のように書き換えます。

alert("結果は "+a);

ここで気をつけたいのは、計算式を文字列の結合に含めた場合の処理の優先です。たとえば、以下のように書き換えてみます。

alert("結果は "+a+b);

この場合、メッセージは「結果は 32」と表示されます。aの値が3、bの値が2だからです。
では、「a+b」の結果を表示したい場合はどうしたらいいでしょうか?計算式の優先順位は()で制御できます。数学の式と同じですね。

alert("結果は "+(a+b));

これで、「結果は 5」と表示されます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中