A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag below:

Symbol.toStringTag - JavaScript | MDN

Symbol.toStringTag

Baseline Widely available

Die statische Dateneigenschaft Symbol.toStringTag repräsentiert das bekannte Symbol Symbol.toStringTag. Object.prototype.toString() sucht dieses Symbol im this-Wert der Eigenschaft, die eine Zeichenfolge enthält, die den Typ des Objekts darstellt.

Probieren Sie es aus
class ValidatorClass {
  get [Symbol.toStringTag]() {
    return "Validator";
  }
}

console.log(Object.prototype.toString.call(new ValidatorClass()));
// Expected output: "[object Validator]"
Wert

Das bekannte Symbol Symbol.toStringTag.

Schreibbar nein Aufzählbar nein Konfigurierbar nein Beispiele Standard-Tags

Einige Werte haben kein Symbol.toStringTag, aber spezielle toString()-Darstellungen. Eine vollständige Liste finden Sie unter Object.prototype.toString().

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
Eingebaute toStringTag-Symbole

Die meisten eingebauten Objekte stellen ihre eigene [Symbol.toStringTag]-Eigenschaft bereit. Fast alle [Symbol.toStringTag]-Eigenschaften der eingebauten Objekte sind nicht beschreibbar, nicht aufzählbar und konfigurierbar; die Ausnahme ist Iterator, die aus Kompatibilitätsgründen beschreibbar ist.

Bei Konstruktorobjekten wie Promise wird die Eigenschaft auf Constructor.prototype installiert, sodass alle Instanzen des Konstruktors [Symbol.toStringTag] erben und als Zeichenfolge dargestellt werden können. Bei Nicht-Konstruktorobjekten wie Math und JSON wird die Eigenschaft als statische Eigenschaft installiert, sodass das Namensraum-Objekt selbst als Zeichenfolge dargestellt werden kann. Manchmal stellt der Konstruktor auch seine eigene toString-Methode bereit (zum Beispiel Intl.Locale), in welchem Fall die [Symbol.toStringTag]-Eigenschaft nur verwendet wird, wenn Sie explizit Object.prototype.toString darauf aufrufen.

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
Benutzerdefiniertes Tag mit toStringTag

Beim Erstellen Ihrer eigenen Klasse verwendet JavaScript standardmäßig das "Object"-Tag:

class ValidatorClass {}

Object.prototype.toString.call(new ValidatorClass()); // "[object Object]"

Nun, mit Hilfe von toStringTag können Sie Ihr eigenes benutzerdefiniertes Tag festlegen:

class ValidatorClass {
  get [Symbol.toStringTag]() {
    return "Validator";
  }
}

Object.prototype.toString.call(new ValidatorClass()); // "[object Validator]"
toStringTag verfügbar auf allen DOM-Prototypenobjekten

Aufgrund einer WebIDL-Spezifikationsänderung in der Mitte des Jahres 2020 fügen Browser eine Symbol.toStringTag-Eigenschaft zu allen DOM-Prototypenobjekten hinzu. Um zum Beispiel die Symbol.toStringTag-Eigenschaft auf HTMLButtonElement zuzugreifen:

const test = document.createElement("button");
test.toString(); // "[object HTMLButtonElement]"
test[Symbol.toStringTag]; // "HTMLButtonElement"
Spezifikationen Browser-Kompatibilität Siehe auch

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