JavaScript | 変数に値を代入するときの仕組み

JavaScript
スポンサーリンク

主な内容の要点

JavaScriptでは、変数に代入する値の種類によって「コピーされるのか」「同じものを共有するのか」が変わります。


1. プリミティブ型(値渡し)

  • プリミティブ型 = 数値、文字列、真偽値、nullundefinedSymbol など
  • 代入するときは「値そのもの」がコピーされる
  • 例:
let a = 10;
let b = a; // bには「10」という値がコピーされる
b = 20;
console.log(a); // 10(aは変わらない)
JavaScript
  • 👉 別々の箱に同じ値を入れるイメージ

2. オブジェクト型(参照渡し)

  • オブジェクト型 = 配列、オブジェクト、関数、正規表現など
  • 代入するときは「値そのもの」ではなく「参照(アドレス)」がコピーされる
  • 例:
let a = [10, 20];
let b = a; // bはaと同じ配列を参照
b[0] = 50;
console.log(a); // [50, 20](aも変わってしまう)
JavaScript
  • 👉 同じ箱を2人で共有しているイメージ

3. ポイントまとめ

  • プリミティブ型 → 値がコピーされる(独立している)
  • オブジェクト型 → 参照がコピーされる(同じものを共有する)
  • 配列やオブジェクトをコピーしたいときは「参照」ではなく「新しいコピー」を作る工夫が必要(例:slice() やスプレッド構文 [...] を使う)

🔑 初心者へのアドバイス

  • 「数値や文字列はコピーされる」
  • 「配列やオブジェクトは共有される」
    この違いを意識すると、思わぬバグを防げます。

この違いを理解するのは、JavaScriptで配列やオブジェクトを扱うときにとても大事なんです。

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