- HOME
- JavaScript入門
- 変数2,定数
前回は変数の宣言と単純な用い方を説明しました。 しかし「変数」という名の通り、変数の中身は変更可能です。 このページではその方法について見ていきます。
また、変数に対して定数というものも存在します。 こちらは中身が変わらないものを格納します。 定数については注意点もあるので、それらを踏まえて解説します。
変数の中身を変えてみる
変数に値(数字や文字)を入れるには、「=」を用いるということを話しました。 これは代入でした。数学のようにイコール(等しい)では無いので気をつけましょう。
ではHTMLのbody内に以下のように記入してみて下さい。
<script> var n; n = 1; document.write( n + "<br>" ); //結果は1 n = n + 2; document.write( n + "<br>" ); //結果は3 n++; document.write( n + "<br>" ); //結果は4 </script>
サンプル(別窓)
上記の場合、変数nの値が3回変わっています。最初に1を代入しています。document.write()で書き出してみると1となります。
次に変数nの値に2を加えてみました。 n=n+2というのは数学では成り立ちませんが、JavaScriptでは代入なのでOKです。 「変数nの値に2を加えたもの(右辺)を変数n(左辺)に代入しなさい!」と言う意味になります。 この結果、変数nの値は3に変わりました。
最後にn++というものがあります。これはn=n+1と同じ意味です。JavaScriptではこんな書き方をします。 この++はインクリメントと呼ばれ大変よく用いますので、この書き方を覚えて下さい。 変数nの値は4になりました。
数字と同じく、文字についても値を変えていくことができます。全然別の文字列を入れることもできますし、 +で結んで前の文字列と連結させることもできます。 文字の場合はクォーテーションで結ぶのを忘れないで下さい。
定数
URLや人名など、うっかり変更してしまうとまずいものは、定数で宣言することができます。 定数は、一度指定すると書き換えができません。
しかしJavaScriptの定数は現在まだ実験段階で、ブラウザによって実装に違いがあります。 定数に入れた値は本来変更できませんが、 そう過信していると思わぬバグに見舞われます。 そのことを踏まえて使用する必要があります。
定数の宣言は、constを使います。定数名も任意のものを付けることができます。下記サンプルでは、 定数名TEISUを宣言しています (一般的な命名規則では、定数名は全て大文字で書きます)。
<script> const TEISU = 1; document.write( TEISU+"<br>" ); //結果は1 //定数の中身を入れ替えてみる TEISU = 2; document.write( TEISU ); //結果は1のはずだが、ブラウザによっては2 </script>
サンプル(別窓)
上記サンプルをいろいろなブラウザでご覧下さい。 constに対応したブラウザであれば、最初に指定した1が表示されます。 constを定数と認識しないブラウザでは、2が表示されるでしょう。 また、Internet Explorerではconstに対応しておらず何も表示されません。
このように定数はブラウザによって実装がまちまちなので、 JavaScriptで定数を使用するのは様子を見た方が良いかも知れません。