--- title: Mutable (ミュータブル) slug: Glossary/Mutable tags: - CodingScripting - Glossary - NeedsContent translation_of: Glossary/Mutable ---
ミュータブルは、変更可能な変数の型です。{{glossary("JavaScript")}} では、{{Glossary("primitive", "プリミティブな値")}}ではない、{{Glossary("Object","オブジェクト")}}と{{Glossary("Array","配列")}}だけがミュータブルです。
(変数名が新しい値を指し示すようにすることはできますが、以前の値はまだメモリーに保持されていますので、ガベージコレクションが必要です。)
ミュータブルオブジェクトは、オブジェクトを作成した後に状態を変更できるオブジェクトです。
{{Glossary("Immutable","イミュータブル")}}は、オブジェクトが作成された後は状態を変更できないオブジェクトです。
文字列と数値はイミュータブルです。例をあげて理解しておきましょう。
var immutableString = "Hello"; // 上記のコードでは、文字列値を持つ新しいオブジェクトが作成されます。 immutableString = immutableString + "World"; // 今、既存の値に "World" を追加しています。
"immutableString" に文字列値を追加すると、次のイベントが発生します。