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
- Creación de Symbols únicos
- Symbols como claves de objetos
- El registro global de Symbols
- Symbols conocidos