Closed4

【JavaScript】Primitive vs Object

ShionShion

Primitive vs Object

JS のデータは「Primitive」と「Object」の2つに大別される。

覚え方は、オブジェクト以外は全て Primitive だと抑える。

ShionShion

Primitive と Object 何が違う?

変数に代入された時の動き」が違う!

👇 Primitive の動き

👇 Object の動き

ShionShion

Object の動きをコードで確認する

const country = {
    name: "Japan"
}

const country2 = country; // この時 country と country2 は同じ参照を持つ

country2.name = "Korea"; // 同じ参照を持つので、country2 を書き換えると・・・

console.log(country.name); // country の値も変わるので Korea と出力される
ShionShion

イミュータブルとミュータブル

すべての Primitive は、イミュータブル (immutable) 、つまり変更できない

変数には新しい値を再割り当てすることができるが、既存の値については変更することができない。

👇プリミティブ値がイミュータブルであることを示す例

let str = "hello";

// 文字列はイミュータブルなので、既存の文字列を変更しようとしてもできない
str[0] = "H";
console.log(str); // "hello" (変更されない)

// 新しい値を再割り当てする必要がある
str = "Hello";
console.log(str); // "Hello"

一方、すべての Object は、ミュータブル (mmutable) 、つまり変更できる

オブジェクトはミュータブルなので前述した通り、プロパティを追加、変更、削除できる。

詳細は以下を参考。
https://developer.mozilla.org/ja/docs/Glossary/Primitive

このスクラップは2024/12/13にクローズされました