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/toString below:

Symbol.prototype.toString() - JavaScript | MDN

Symbol.prototype.toString()

Baseline Widely available

Die toString()-Methode von Symbol-Werten gibt einen String zurück, der diesen Symbolwert repräsentiert.

Probieren Sie es aus
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
Syntax Parameter

Keine.

Rückgabewert

Ein String, der den angegebenen Symbolwert repräsentiert.

Beschreibung

Das Symbol-Objekt überschreibt die toString-Methode von Object; es erbt nicht von Object.prototype.toString(). Für Symbol-Werte gibt die toString-Methode einen beschreibenden String in der Form "Symbol(description)" zurück, wobei description die Beschreibung des Symbols ist.

Die toString()-Methode erfordert, dass ihr this-Wert ein Symbol-Primitiv oder Wrapper-Objekt ist. Sie löst einen TypeError für andere this-Werte aus, ohne zu versuchen, sie in Symbolwerte umzuwandeln.

Da Symbol eine [Symbol.toPrimitive]()-Methode hat, hat diese Methode immer Vorrang vor toString(), wenn ein Symbol-Objekt in einen String umgewandelt wird. Da jedoch Symbol.prototype[Symbol.toPrimitive]() ein Symbol-Primitiv zurückgibt und Symbol-Primitiven einen TypeError auslösen, wenn sie implizit in einen String konvertiert werden, wird die toString()-Methode vom Sprachmodus nie implizit aufgerufen. Um ein Symbol in einen String umzuwandeln, müssen Sie entweder explizit seine toString()-Methode aufrufen oder die String()-Funktion verwenden.

Beispiele Verwendung von toString()
Symbol("desc").toString(); // "Symbol(desc)"

// well-known symbols
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)"

// global symbols
Symbol.for("foo").toString(); // "Symbol(foo)"
Impliziter Aufruf von toString()

Die einzige Möglichkeit, um JavaScript dazu zu bringen, toString() statt [Symbol.toPrimitive]() auf einem Symbol-Wrapper-Objekt implizit aufzurufen, besteht darin, die [Symbol.toPrimitive]()-Methode zuerst zu löschen.

Warnung: Sie sollten dies in der Praxis nicht tun. Verändern Sie niemals eingebaute Objekte, es sei denn, Sie wissen genau, was Sie tun.

delete Symbol.prototype[Symbol.toPrimitive];
console.log(`${Object(Symbol("foo"))}`); // "Symbol(foo)"
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