Baseline Widely available
El sÃmbolo conocido como Symbol.toStringTag
es una propiedad con valor de cadena que se utiliza en la creación de la descripción de cadena por defecto de un objeto. Se accede a ella internamente mediante el método Object.prototype.toString()
.
class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
console.log(Object.prototype.toString.call(new ValidatorClass()));
// Expected output: "[object Validator]"
Sobrescribir No Numerable No Configurable No Ejemplos Etiquetas por defecto
Object.prototype.toString.call("foo"); // "[object String]"
Object.prototype.toString.call([1, 2]); // "[object Array]"
Object.prototype.toString.call(3); // "[object Number]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(null); // "[object Null]"
// ... and more
SÃmbolos toStringTag integrados
Object.prototype.toString.call(new Map()); // "[object Map]"
Object.prototype.toString.call(function* () {}); // "[object GeneratorFunction]"
Object.prototype.toString.call(Promise.resolve()); // "[object Promise]"
// ... and more
Clases personalizadas por defecto en la etiqueta objeto
Al crear su propia clase, JavaScript utiliza por defecto la etiqueta "Object":
class ValidatorClass {}
Object.prototype.toString.call(new ValidatorClass()); // "[object Object]"
Etiqueta personalizada con toStringTag
Ahora, con la ayuda de toStringTag
, puede establecer su propia etiqueta personalizada:
class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
Object.prototype.toString.call(new ValidatorClass()); // "[object Validator]"
toStringTag disponible en todos los objetos del prototipo DOM
Debido a un cambio en las especificaciones de WebIDL a mediados de 2020, los navegadores están añadiendo una propiedad Symbol.toStringTag
a todos los objetos prototipo del DOM. Por ejemplo, para acceder a la propiedad Symbol.toStringTag
de HTMLButtonElement
:
let test = document.createElement("button");
test.toString(); // Devuelve [object HTMLButtonElement]
test[Symbol.toStringTag]; // Devuelve HTMLButtonElement
Especificaciones Compatibilidad con navegadores Véase también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4