Hamburger Icon
Introducción a los Símbolos de Javascript

Introducción a los Símbolos de Javascript

Desde que en 2015 se lanzó ES6 tenemos a nuestra disposición un nuevo tipo primitivo de datos, Symbol, junto con los ya conocidos Boolean, Null, Undefined, Number y String. En este artículo veremos cómo podemos usar este nuevo tipo de dato y lo que podemos conseguir con él.

¿Qué son los Símbolos?

Son identificadores únicos. Cada vez que llamamos a la función Symbol() un nuevo y único símbolo es creado. Es un poco peculiar y se usa solo internamente.

Opcionalmente se puede pasar una descripción que sirve únicamente para poder debugar.

const miSimbolo = Symbol("Mi primer símbolo")

Como comentaba antes, cada símbolo es único:

Javascriptconst simboloUno = Symbol() const simboloDos = Symbol() symboloUno === simboloDos // devuelve false symbol() === symbol() // devuelve false

¿Cuándo usarlos?

Se suelen usar para identificar propiedades de objetos evitando que haya conflictos con sus nombres y haciendo que sean privadas:

const NOMBRE = Symbol()
const BANDA = Symbol()
const PUBLICACION = Symbol()
const album = {
  [NOMBRE]: "Straight Up",
  [BANDA]: "Badfinger",
  [PUBLICACION]: 1971,
}
console.log(album[BANDA]) // devuelve "Badfinger"

Las propiedades del objeto album son privadas, lo cual puede ser útil en casos en que sus nombres puedan crear colisiones con librerías externas.

Para más información sobre los símbolos, puedes empezar consultando la documentación de MDN.