--- title: Mutável slug: Glossary/Mutable tags: - mutavel translation_of: Glossary/Mutable original_slug: Glossario/Mutavel ---
Mutável é o tipo da variável que pode ser alterada. Em {{glossary("JavaScript")}}, somente {{Glossary("Object","objetos")}} e {{Glossary("Array","arrays")}} são mutáveis, {{Glossary("primitive", "valores primitivos")}} não.
(Você pode fazer o nome da variável apontar para um novo valor, mas o valor anterior continua na memória. Logo, a necessidade da coleta de lixo, "garbage collection")
Um objeto mutável é um objeto cujo estado pode ser modificado após sua criação.
Imutáveis são os objetos cujo o estado não podem ser mudados uma vez criados.
Strings e Numbers são imutáveis. Vamos entender isso com um exemplo:
var stringImutavel = 'Hello'; // No código acima, um novo objeto com o valor string é criado. stringImutavel = stringImutavel + 'World'; // Agora nós estamos anexando 'World' ao valor existente.
Ao anexar a 'stringImutavel' com um valor de string, os seguintes eventos ocorrem: