Imutabilidade
JavaScript · também conhecido como imutável
Propriedade de primitivos: o valor não muda; operações criam novos valores.
seção
Explicação
Imutabilidade — Propriedade de primitivos: o valor não muda; operações criam novos valores.
Primitivos são imutáveis: s.toUpperCase() retorna nova string; s não muda. Objetos e arrays são mutáveis por padrão — mutação compartilha referência.
Programação funcional e React favorecem cópias (spread, .map) em vez de .push in-place quando estado é compartilhado.
seção
Exemplo
const a = [1, 2];const b = [...a, 3]; // novo arraya === b // falseseção
Modo de uso
Atualizar state React com novo objeto/array
Evitar bugs de referência em closures
Facilitar time-travel debug e memoization
seção
Armadilhas comuns
Shallow copy — objetos aninhados ainda compartilham referência
Object.freeze é shallow
seção
Termos relacionados
Aprofundar no artigo
Quer ir além? Este artigo explora o tema em profundidade — leitura recomendada após o glossário.
Pure Functions: A Magia da Previsibilidade
Domine funções puras: mesma entrada → mesma saída, zero efeitos colaterais, imutabilidade, structuredClone, padrões práticos e quando a impureza é inevitável.
ler artigoMais em JavaScript
Outros termos da mesma categoria para revisão em sequência.
Referência de Objeto
JSObjetos são comparados e passados por referência, não por cópia de valor.
ver definiçãoType Coercion
JSConversão automática de tipos pelo motor JavaScript em operações mistas.
também: coerção de tipos
ver definiçãoCoerção Explícita
JSConversão intencional via String(), Number(), Boolean() ou operadores unários.
ver definição