From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/glossary/mutable/index.html | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 files/ja/glossary/mutable/index.html (limited to 'files/ja/glossary/mutable/index.html') diff --git a/files/ja/glossary/mutable/index.html b/files/ja/glossary/mutable/index.html new file mode 100644 index 0000000000..973945323c --- /dev/null +++ b/files/ja/glossary/mutable/index.html @@ -0,0 +1,47 @@ +--- +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" に文字列値を追加すると、次のイベントが発生します。

+ +
    +
  1. "immutableString" の既存の値が取得される。
  2. +
  3. "immutableString" の既存の値に "World" が追加される。
  4. +
  5. 結果の値は、新しいメモリーブロックに割り当てられる。
  6. +
  7. "immutableString" オブジェクトは新たに作成されたメモリー空間を指すようになる。
  8. +
  9. 以前に作成されたメモリー空間がガベージコレクション可能になる。
  10. +
+ + + +

より詳しく知る

+ +

一般知識

+ + -- cgit v1.2.3-54-g00ecf