Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

Symbol.prototype.toString()

Baseline
Ampliamente disponible

Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde septiembre de 2015.

El método toString() devuelve una cadena que representa el objeto Symbol especificado.

Pruébalo

console.log(Symbol("desc").toString());
// Expected output: "Symbol(desc)"

console.log(Symbol.iterator.toString());
// Expected output: "Symbol(Symbol.iterator)

console.log(Symbol.for("foo").toString());
// Expected output: "Symbol(foo)"

// console.log(Symbol('foo') + 'bar');
// Expected output: Error: Can't convert symbol to string

Sintaxis

js
toString();

Valor de retorno

Una cadena que representa el objeto Symbol especificado.

Descripción

El objeto Symbol reemplaza el método toString del objeto Object; no hereda Object.prototype.toString(). Para los objetos Symbol, el método toString devuelve una representación de cadena del objeto.

Sin concatenación de cadenas

Aunque se puede llamar a toString() en los símbolos, no se puede utilizar la concatenación de cadenas con ellos:

js
Symbol("foo") + "bar"; // TypeError: No se puede convertir el símbolo en cadena

Ejemplos

Usando toString()

js
Symbol("desc").toString(); // "Symbol(desc)"

// símbolos conocidos
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)

// símbolos globales
Symbol.for("foo").toString(); // "Symbol(foo)"

Especificaciones

Especificación
ECMAScript® 2027 Language Specification
# sec-symbol.prototype.tostring

Compatibilidad con navegadores

Véase también