--- title: Mutable slug: Glossary/Mutable translation_of: Glossary/Mutable ---

Mutable değiştirilebilen bir değişken türüdür. {{glossary("JavaScript")}}'te, sadece {{Glossary("Object","objects")}} ve {{Glossary("Array","arrays")}} 'ler mutable'dır,  {{Glossary("primitive", "primitive values")}} mutable değildir.

(Bir değiken ad noktasına yeni bir değere dönüştürebilirsiniz, ancak önceki değer hala bellekte tutulur. Bu nedenle garbage collection ihtiyaç vardır.)

Bir mutable object oluşturulduktan sonra durumu değiştirebilen nesnelerdir.

Immutables ise oluşturulduktan sonra durumu değiştirilemeyen nesnelerdir.

Strings ve Numbers 'lar değiştirilemeyen, immutables'lardır. Bunu bir örnekle anlayalım:

var immutableString = "Hello";

// Yukarıdaki kodda, string değer alan yeni bir nesne oluşturduk.

immutableString = immutableString + "World";

// Şimdi, mevcut değere "World" ekliyoruz.

"immutableString" e bir string değer eklenmesiyle, aşağıdaki olaylar gerçekleşir:

  1. "immutableString" mevcut değeri alınır
  2. "World", "immutableString" mevcut değerine eklenir.
  3. Ortaya çıkan değer daha sonra yeni bir bellek bloğuna tahsis edilir.
  4. "immutableString" nesnesi şimdi yeni oluşturulmuş bellek alanına işaret ediyor
  5. Önceden oluşturulan bellek alanı artık çöp toplama için kullanılabilir.

Daha fazla bilgi edin

Genel Bilgi