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

Symbol.for() - JavaScript | MDN

Symbol.for()

Baseline Widely available

Die Symbol.for() Methode durchsucht das runtime-weite Symbol-Register nach bestehenden Symbolen mit dem angegebenen Schlüssel und gibt dieses zurück, wenn es gefunden wird. Andernfalls wird ein neues Symbol im globalen Symbol-Register mit diesem Schlüssel erstellt.

Probieren Sie es aus
console.log(Symbol.for("bar") === Symbol.for("bar"));
// Expected output: true

console.log(Symbol("bar") === Symbol("bar"));
// Expected output: false

const symbol1 = Symbol.for("foo");

console.log(symbol1.toString());
// Expected output: "Symbol(foo)"
Syntax Parameter
key

String, erforderlich. Der Schlüssel für das Symbol (wird auch für die Beschreibung des Symbols verwendet).

Rückgabewert

Ein vorhandenes Symbol mit dem angegebenen Schlüssel, falls gefunden; andernfalls wird ein neues Symbol erstellt und zurückgegeben.

Beschreibung

Im Gegensatz zu Symbol() erstellt die Funktion Symbol.for() ein Symbol, das in einer globalen Symbol-Registrierung verfügbar ist. Symbol.for() erstellt nicht notwendigerweise bei jedem Aufruf ein neues Symbol, sondern überprüft zuerst, ob ein Symbol mit dem angegebenen key bereits im Register vorhanden ist. In diesem Fall wird dieses Symbol zurückgegeben. Wenn kein Symbol mit dem angegebenen Schlüssel gefunden wird, erstellt Symbol.for() ein neues globales Symbol.

Beispiele Verwendung von Symbol.for()
Symbol.for("foo"); // create a new global symbol
Symbol.for("foo"); // retrieve the already created symbol

// Same global symbol, but not locally
Symbol.for("bar") === Symbol.for("bar"); // true
Symbol("bar") === Symbol("bar"); // false

// The key is also used as the description
const sym = Symbol.for("mario");
sym.toString(); // "Symbol(mario)"

Um Namenskonflikte zwischen Ihren globalen Symbolschlüsseln und anderen (Bibliothekscode) globalen Symbolen zu vermeiden, könnte es eine gute Idee sein, Ihre Symbole zu präfixen:

Symbol.for("mdn.foo");
Symbol.for("mdn.bar");
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