$cat~/glossario/symbol.md

Symbol

JavaScript

Identificador único e imutável, útil para chaves de propriedade.

symbol.mdmarkdown
01

seção

Explicação

Symbol — Identificador único e imutável, útil para chaves de propriedade.

Cada Symbol() é único e imutável. Symbol.for("key") registra globalmente; Symbol.iterator define protocolo de iteração.

Evita colisão de chaves em objetos meta (frameworks usam symbols para marcar elementos React, etc.).

02

seção

Exemplo

snippetJavaScript
const id = Symbol('id');const obj = { [id]: 42 };Object.keys(obj) // [] — symbol não é enumerable por padrão
03

seção

Modo de uso

  • Chaves privadas "soft" em objetos públicos

  • Well-known symbols (Symbol.toStringTag)

  • Definir iteradores customizados

04

seção

Armadilhas comuns

  • Esperar ver symbol em JSON.stringify

  • Recriar symbol a cada render quebra identidade

05

seção

Termos relacionados