主な内容の要点
JavaScriptでは、変数に代入する値の種類によって「コピーされるのか」「同じものを共有するのか」が変わります。
1. プリミティブ型(値渡し)
- プリミティブ型 = 数値、文字列、真偽値、
null、undefined、Symbolなど - 代入するときは「値そのもの」がコピーされる
- 例:
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で配列やオブジェクトを扱うときにとても大事なんです。

