変数2,定数

更新日:2017.03.02
  1. HOME
  2. JavaScript入門
  3. 変数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で定数を使用するのは様子を見た方が良いかも知れません。