変数への値の代入と変数の初期化

変数を宣言したら変数に値を代入することができます。代入された値はあとから取り出して利用することができ、また別の値を代入することもできます( const で宣言した変数は不可)。また変数は宣言時に値を代入することもできます。ここでは JavaScript で変数に値を代入する方法、および変数の宣言時に値を代入して初期化する方法について解説します。

(Last modified: )

変数に値を代入する

変数に値を格納することを変数に値を代入するといいます。書式は次の通りです。

変数 = 値;

「=」は代入演算子と呼ばれる演算子の一つです。「=」の右側に記述された値を左側に書かれた変数に代入します。

例えば次のように記述します。

let old;
let name;

old = 18;
name = '鈴木';

変数 old と name を宣言し、そのあとでそれぞれの変数に値を代入しています。 JavaSript では変数に任意のデータ型の値を代入することができます。

変数の宣言時に初期化する

変数は宣言すると同時に値を代入して初期化することができます。書式は次の通りです。

let 変数 = 値;

変数を宣言すると同時に、変数に値を代入します。

例えば次のように記述します。

let old = 18;
let name = '鈴木';

なお const を使って変数を宣言する場合は、必ず変数の宣言時に値を代入する必要があります。

const minHeight = 100;

変数から値を取り出す

数字や文字列などの値を記述する代わりに変数名を記述すると変数に格納されている値を取り出して使用することができます。次の例を見てください。

let name = 'Yamada';
console.log(name);

log メソッドの引数として変数を指定しています。すると変数に格納されている値が取り出されて log メソッドの引数として渡されます。実際に実行してみると、次のようにコンソールに出力されます。

let name = 'Yamada';
console.log(name);
>> Yamada

変数から値を取り出しても変数から値がなくなるわけではありません。変数に格納されている値は何度でも取り出すことができます。

let name = 'Yamada';
console.log(name);
>> Yamada
console.log(name);
>> Yamada

変数に格納されている値を別の変数に代入することもできます。

let num1, num2;

num1 = 10;
num2 = num1;
console.log(num2);
>> 10

変数 num1 に 10 という値を代入したあと、今度は変数 num2 に 変数 num1 を代入しています。変数 num1 には 10 という値が格納されていたので、 10 という値が変数 num2 に代入されます。

※ JavaScript では実際には変数に値を代入すると、値が保存されている場所への参照を変数に保管します。数値や文字列のようにプリミティブ型の値の場合は、単に値が変数に格納されていると考えても差し支えないですが、変数に代入される値がオブジェクト型だった場合は少し注意が必要です。詳しくは「JavaScriptで変数への値の代入が値渡しか参照渡しかについて」を参照されてください。

別の値を代入する

値が格納されている変数に対して、別の値を代入することができます。例えば次のように記述します。

let highScore;
highScore = 78;

highScore = 86;

変数 highScore には最初 78 という値が代入されましたが、あとから別の値である 86 が代入されました。新しい値が代入されると変数には新しい値だけが格納されることになります。

let highScore;
highScore = 78;
console.log(highScore);
>> 78

highScore = 86;
console.log(highScore);
>> 86

なお const を使って変数を宣言した場合は、あとから別の値を代入することができません。別の値を代入するとエラーとなります。

const minHeight = 100;
minHeight = 88;
>> Uncaught TypeError: Assignment to constant variable.

-- --

JavaScript で変数に値を代入する方法、および変数の宣言時に値を代入して初期化する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。