Closed4
【JavaScript】Primitive vs Object

Primitive vs Object
JS のデータは「Primitive」と「Object」の2つに大別される。
覚え方は、オブジェクト以外は全て Primitive だと抑える。

Primitive と Object 何が違う?
「変数に代入された時の動き」が違う!
👇 Primitive の動き
👇 Object の動き

Object の動きをコードで確認する
const country = {
name: "Japan"
}
const country2 = country; // この時 country と country2 は同じ参照を持つ
country2.name = "Korea"; // 同じ参照を持つので、country2 を書き換えると・・・
console.log(country.name); // country の値も変わるので Korea と出力される

イミュータブルとミュータブル
すべての Primitive は、イミュータブル (immutable) 、つまり変更できない。
変数には新しい値を再割り当てすることができるが、既存の値については変更することができない。
👇プリミティブ値がイミュータブルであることを示す例
let str = "hello";
// 文字列はイミュータブルなので、既存の文字列を変更しようとしてもできない
str[0] = "H";
console.log(str); // "hello" (変更されない)
// 新しい値を再割り当てする必要がある
str = "Hello";
console.log(str); // "Hello"
一方、すべての Object は、ミュータブル (mmutable) 、つまり変更できる。
オブジェクトはミュータブルなので前述した通り、プロパティを追加、変更、削除できる。
詳細は以下を参考。
このスクラップは2024/12/13にクローズされました