0Pricing
JavaScript Academy · Aula

Criando Symbols exclusivos

Gere valores com exclusividade garantida.

Criando Symbols exclusivos é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 4 aulas no total.

O que é um símbolo

Um símbolo é um tipo primitivo introduzido no JavaScript moderno. Cada símbolo é único, mesmo quando dois símbolos compartilham a mesma descrição.

const s = Symbol()
console.log(typeof s)

Criando um símbolo

Você cria um símbolo chamando a função de símbolo. Ela não é um construtor, portanto você nunca usa a palavra-chave de instanciação com ela.

const id = Symbol()
console.log(typeof id)

Descrição opcional

Você pode passar um texto de descrição para ajudar na depuração. A descrição é puramente informativa e não afeta a exclusividade.

const id = Symbol("user id")
console.log(id.description)

Todo símbolo é único

Dois símbolos nunca são iguais, mesmo com descrições idênticas. Essa exclusividade garantida é sua característica definidora.

const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)

Sem palavra-chave de instanciação

Chamar a função de símbolo como construtor gera um erro, pois os símbolos são valores primitivos, não objetos. Sempre a chame como uma função comum.

const s = Symbol("ok")
console.log(typeof s === "symbol")

Símbolos são valores primitivos

O tipo de um símbolo é o texto símbolo. Como outros valores primitivos, os símbolos são imutáveis e não têm propriedades que possam ser alteradas.

const s = Symbol("p")
console.log(typeof s)

Lendo a descrição

A propriedade description retorna o texto fornecido ou indefinido se nenhuma descrição tiver sido informada. Ela é somente para leitura.

const named = Symbol("hello")
const anon = Symbol()
console.log(named.description)
console.log(anon.description)

Símbolos não podem ser convertidos implicitamente em texto

Os símbolos não são convertidos implicitamente em textos, o que evita usos acidentais. Use String ou toString para obter texto de forma deliberada.

const s = Symbol("tag")
console.log(String(s))
console.log(s.toString())

Usando símbolos como constantes

Os símbolos são excelentes valores constantes exclusivos, por exemplo, para representar estados distintos que nunca podem entrar em conflito.

const RED = Symbol("red")
const GREEN = Symbol("green")
console.log(RED === GREEN)

Armazenando símbolos

Você pode armazenar símbolos em variáveis, matrizes e como valores dentro de objetos. A exclusividade deles permanece com eles.

const states = [Symbol("on"), Symbol("off")]
console.log(states.length)
console.log(states[0] === states[1])

Por que a exclusividade é importante

Como dois símbolos nunca entram em conflito, eles são ideais para chaves que nunca devem colidir com outro código, como exploraremos na próxima lição.

const key1 = Symbol("meta")
const key2 = Symbol("meta")
const obj = {}
obj[key1] = "a"
obj[key2] = "b"
console.log(obj[key1], obj[key2])

Verificação rápida

Teste seus conhecimentos sobre a criação de símbolos.

Recapitulação

Recapitulação: Os símbolos são valores primitivos exclusivos.

  • Criados chamando Symbol, nunca com new
  • A descrição opcional ajuda apenas na depuração
  • Cada símbolo é exclusivo
  • typeof de um símbolo é symbol
const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)

Perguntas Frequentes

A aula “Criando Symbols exclusivos” é grátis?

Sim — o texto completo de “Criando Symbols exclusivos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 4 aulas no total.

O que vou aprender em “Criando Symbols exclusivos”?

Gere valores com exclusividade garantida. Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Criando Symbols exclusivos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando Symbols exclusivos
  2. Symbols como chaves de objetos
  3. O registro global de Symbols
  4. Symbols conhecidos
← Voltar para JavaScript Academy