現役プログラマーによるJavaScript奮闘記3!~変数って編~

前回はJavaScriptを使って単純に「Hello,World!」と出力することを覚えました。

今回は変数ということを覚えていきます。

■変数って?

プログラミングをちょっとでもかじったことがある人は違和感無いと思いますが、
本当に初心者だといきなり変数!といわれてもピンとこないかもしれないので、
そもそも変数って?見たいな話から。

変数は中学校の数学のときに行った変数と概念としては多分変わりません。

x = 3、y = 4のとき 2x + 4y = ?
としたときのxとかyに当たるものです。

変数には値が代入できました。
プログラミングも同じです。

ただ、プログラミングでは代入するのは数字だけではなく、文字も変数に代入しますし、
なんなら「無という概念 = null」も代入したりできます。

ポケモンのサン・ムーンで出てきた「タイプ:ヌル」のヌルですね。
http://www.pokemon.co.jp/ex/sun_moon/pokemon/160906_01.html
コイツ。
説明にある「”何もない”という意味の「ヌル」という名を冠する、仮面を被ったポケモン」だそうです。

数学では変数が何かを当てることが多かったように思いますが、プログラミングでの変数は
・値を保持しておく
は勿論なんですが、
・値に名前をつける
という意味合いが強いです。

そのため、数学で出てくる変数名のxとかyはあまりプログラミングでは変数名にしません。
してもいいんですけど、後から読みづらいです。。。

x = 170
y = 70
z = 30
とするより、
height = 170
weight = 70
age = 30
としたほうが170という数字が何を表してるのかがわかりやすいですよね。

これがプログラミングの変数です。
そんなややこしい話ではないです。なんとなくつかめたでしょうか。

■実際に変数を使ってやってみよう

前回書いたHello,World!を出力するプログラムを変数を用いて書いてみましょう。

JavaScriptの変数はvarで宣言します。
宣言というのは「この文字列を変数として利用するぜぇ!」ってプログラムに伝えるわけですね。

var str;

こう書けば「strという文字列を変数として利用するぜぇ!」と宣言したことになります。

代入については数学と同じで

str = “Hello,World!”

と=を使って代入します。
このとき自分は代入する・されるは左が代入される方、右が代入するほうと違和感がないのですが、
いままで数学を避けてきたりプログラムをしたことが無い人は初め意識しないとわからなかったりするそうです。

特に気にならなかったら読み進めてください。

変数に代入した値はそのまま利用できます。

出力は
document.write(出力したいもの);
でした。

そのため、

document.write(str);

とすれば変数を利用して出力が可能になります。
前回書いたHello,World!を変数を使って書き換えるとこうなります。

//はコメントでこの後ろに書いたものはプログラム上無視されます。
対人間用のコメントです。

<!DOCTYPE html>
<html>
<head>
<title>サンプル</title>
</head>
<body>
<script>
var str; //変数宣言をする
str = "Hello,World!"; //変数strに"Hello,World!"を代入する
document.write(str); //"Hello,World!"が代入されているstrを出力する
</script>
</body>
</html>

変数の宣言と、変数への代入を1行で行っても問題ありません。


<!DOCTYPE html>
<html>
<head>
<title>サンプル</title>
</head>
<body>
<script>
var str = "Hello,World!"; //変数宣言と代入を同時に行う。
document.write(str); //"Hello,World!"が代入されているstrを出力する
</script>
</body>
</html>

■変数名って何をつけてもいいの?

変数名には基本的に何でもつけることができます。
実際に利用されてプログラムが書かれているのは正直見たことは無いですが(後輩が書いていたら文字コードとかの関係で詰めますが)、Javaというプログラム言語では日本語も変数名にすることができます。

ただし「その文字列がそのプログラム的に意味を持っている文字列」は変数名に利用することはできません。
これを予約語といいます。

プログラム言語名 + 予約語
でググると出てきます。

プログラム言語によって若干の差異はありますが、基本的に大体似たり寄ったりが予約語になっています。
上の変数を利用した際にstrと書いたのはこれが理由です。

単純に文字列はStringです。
これはJavaScriptでは予約語にはなっていませんが、他の言語では予約語になっている場合が多いです。
なので、癖で頭3字をとってstrとしたわけです。

今回はこの辺で。
次回はもう少し変数宣言について詳しく触れます。

コメント

タイトルとURLをコピーしました