主な内容の要点
1. 値渡し(プリミティブ型)
- 対象:数値、文字列、真偽値、
null、undefined、シンボル など - 特徴:
- 変数に代入すると「値そのもの」がコピーされる
- 別の変数に代入しても、それぞれ独立した値を持つ
- 片方を変更しても、もう片方には影響しない
例:
let a = 10;
let b = a; // b に 10 がコピーされる
b = 20;
console.log(a); // 10(影響なし)
JavaScript2. 参照渡し(オブジェクト型)
- 対象:配列、オブジェクト、関数、正規表現 など
- 特徴:
- 変数には「値そのもの」ではなく「値が保存されている場所(参照)」が入る
- 別の変数に代入すると、同じ場所を指すことになる
- 片方を変更すると、もう片方にも影響が出る
例:
let a = [10, 20];
let b = a; // b も同じ配列を参照
b[0] = 50;
console.log(a); // [50, 20](a も変わる!)
JavaScript3. ポイントまとめ
- プリミティブ型 → 値そのものをコピー(安全に独立)
- オブジェクト型 → 参照をコピー(共有されるので注意)
- 配列やオブジェクトを扱うときは「どの変数が同じものを参照しているか」を意識することが大事
👉 初心者がよくハマるのは「配列やオブジェクトをコピーしたつもりが、実は同じものを触っていた」というケースです。
「値渡し」と「参照渡し」の違いを理解すると、バグを減らせます。
