$cat~/glossario/immutability.md

Imutabilidade

JavaScript · também conhecido como imutável

Propriedade de primitivos: o valor não muda; operações criam novos valores.

immutability.mdmarkdown
01

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.

02

seção

Exemplo

snippetJavaScript
const a = [1, 2];const b = [...a, 3]; // novo arraya === b // false
03

seção

Modo de uso

  • Atualizar state React com novo objeto/array

  • Evitar bugs de referência em closures

  • Facilitar time-travel debug e memoization

04

seção

Armadilhas comuns

  • Shallow copy — objetos aninhados ainda compartilham referência

  • Object.freeze é shallow

05

seção

Termos relacionados