プログラミングの勉強をしていると、
「プリミティブ型」「参照型」という言葉が出てきます。

「え、なにそれ?? むずかしそう…」
と思うかもしれませんが、大丈夫!

今日は ゲームの宝箱ロッカーの番号札 を使って
やさしく説明します!

🔷 1. プリミティブ型は「そのまんま宝物」

プリミティブ型は、箱を開けたら中身がそのまま入っている宝箱 みたいなもの。

例えば:

  • 数字(1、100、-5 など)
  • 文字(”こんにちは” など)
  • true / false
  • null
  • undefined
    など

📦 イメージ

宝箱(変数)を開けたら
→ 100 がそのまま入っている!

つまり、変数がそのまま「中身の値」を持っている 状態です。

🔷 2. 参照型は「番号札」

参照型は、ロッカーの「番号札」を持っているだけ みたいなもの。

番号札には、
「本物の荷物が入っているロッカーの場所」
が書いてあるだけ。

つまり、参照型は
「中身そのもの」ではなく、その場所(アドレス)を持っている のです。

参照型の例:

  • 配列(Array)
  • オブジェクト(Object)
  • 関数(Function)

🔑 イメージ

変数にはロッカーの番号が入っているだけ
→ 本物の荷物(データ)はロッカーの中

🔷 3. 「コピー」するとどう違うの?

ここが一番大事です!

✨ プリミティブ型をコピーすると?

宝物そのものをコピーする

let a = 10;
let b = a;

b = 20;

console.log(a); // 10 のまま

a と b は別々の宝箱だから
片方を変えてももう片方は変わらない!

✨ 参照型をコピーすると?

番号札(ロッカーの場所)だけコピーされる

let a = [1, 2];
let b = a;

b.push(3);

console.log(a); // → [1, 2, 3] に変わってる!

理由は簡単。

a も b も
同じロッカーの番号札を持っているから
どっちから荷物を入れても
同じロッカーに入っちゃう!

🔷 4. まとめ(ここだけ覚えればOK!)

種類プリミティブ型参照型
数字、文字、true/false など配列、オブジェクト
中身は?値が直接入っている(宝物)場所が入っている(番号札)
コピーすると?全く別の値になる同じ場所を指すのでつながる
  • プリミティブ型 → 本物の宝物が入ってる箱
  • 参照型 → 本物が入っているロッカーの番号札

このイメージができれば、
JavaScriptのデータのしくみがグッとわかりやすくなります!