0Pricing
JavaScript Academy · Lección

Creación de Symbols únicos

Genere valores con unicidad garantizada.

Creación de Symbols únicos es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 4 lecciones en total.

Qué es un Symbol

Symbol es un tipo primitivo introducido en las versiones modernas de JavaScript. Cada símbolo es único, incluso si dos símbolos comparten la misma descripción.

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

Crear un Symbol

Puede crear un símbolo llamando a la función Symbol. No es un constructor, por lo que nunca debe utilizar new con ella.

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

Descripción opcional

Puede pasar una cadena de descripción para facilitar la depuración. La descripción es meramente informativa y no afecta a la unicidad.

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

Cada Symbol es único

Dos símbolos nunca son iguales, aunque tengan descripciones idénticas. Esta unicidad garantizada es su característica principal.

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

Sin la palabra clave new

Llamar a Symbol con new produce un error, porque los símbolos son primitivos, no objetos. Llámelo siempre como una función normal.

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

Los símbolos son primitivos

El resultado de typeof para un símbolo es la cadena symbol. Al igual que otros primitivos, los símbolos son inmutables y no tienen propiedades que se puedan modificar.

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

Leer la descripción

La propiedad description devuelve el texto que proporcionó o undefined si no se proporcionó ninguno. Es de solo lectura.

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

Los símbolos no se pueden convertir implícitamente en cadenas

Los símbolos no se convierten implícitamente en cadenas, lo que evita usos accidentales. Use String o toString para obtener texto de forma deliberada.

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

Uso de símbolos como constantes

Los símbolos son excelentes valores constantes únicos; por ejemplo, para representar estados distintos que nunca pueden entrar en conflicto.

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

Almacenamiento de símbolos

Puede almacenar símbolos en variables, arrays y como valores dentro de objetos. Su unicidad se conserva allá donde los use.

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

Por qué importa la unicidad

Como no hay dos símbolos que entren en conflicto, son ideales para claves que nunca deben chocar con otro código, como veremos en la próxima lección.

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

Comprobación rápida

Compruebe sus conocimientos sobre la creación de símbolos.

Resumen

Resumen: Los símbolos son valores primitivos únicos.

  • Se crean llamando a Symbol, nunca con new
  • La descripción opcional solo facilita la depuración
  • Cada símbolo es único
  • typeof de un símbolo es symbol
const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)

Preguntas frecuentes

¿La lección «Creación de Symbols únicos» es gratis?

Sí — el texto completo de «Creación de Symbols únicos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Creación de Symbols únicos»?

Genere valores con unicidad garantizada. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar JavaScript Academy?

No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Creación de Symbols únicos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?

Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación de Symbols únicos
  2. Symbols como claves de objetos
  3. El registro global de Symbols
  4. Symbols conocidos
← Volver a JavaScript Academy