A190 変数の参照(リファレンス)

JavaScriptでは値の代入が行われる際に、値をそのまま渡すのではなく、参照先を渡すような仕様のことを参照渡しといいます。今回はそのような実際にに行われている代入方法について紹介します。

値の代入について

値渡し

値渡しとは値をそのまま渡すような仕様のことを指します。「プリミティブ型」と呼ばれる要素は値渡しとなります。

プリミティブ型の詳細はこちら
JavaScript
let x, y;
x = "Hi";
y = x;
y = "Good Mornig";

console.log(x);
console.log(y);

実行結果

JavaScript
Hi
Good morning

参照渡し

参照渡しとは、代入が行われる際に、値をそのまま渡すのではなく、参照先を渡すような仕様のことを指します。

「オブジェクト型」と呼ばれる要素は値渡しとなります。

JavaScript
let x, y;
x = {greeting: "Hi"};
y = x;
y.greeting = "Good morning";

console.log(x.greeting);
console.log(y.greeting);

実行結果

JavaScript
Good morning
Good morning

オブジェクト型は元の値を参照するため、値を代入すると元のオブジェクトの値にも影響がでます。

オブジェクト型の詳細はこちら

エンジニアからのアドバイス

値がどの様に代入されているか理解しないまま代入を行なってしまうと、意図してないものが変数に格納されてしまいバグの原因となります。値への導入方法も意識しましょう。

---