Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Symbol
  6. for()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Symbol.for()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

DieSymbol.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: trueconsole.log(Symbol("bar") === Symbol("bar"));// Expected output: falseconst symbol1 = Symbol.for("foo");console.log(symbol1.toString());// Expected output: "Symbol(foo)"

Syntax

js
Symbol.for(key)

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 zuSymbol() erstellt die FunktionSymbol.for() ein Symbol, das in einerglobalen 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 angegebenenkey bereits im Register vorhanden ist. In diesem Fall wird dieses Symbol zurückgegeben. Wenn kein Symbol mit dem angegebenen Schlüssel gefunden wird, erstelltSymbol.for() ein neues globales Symbol.

Beispiele

Verwendung von Symbol.for()

js
Symbol.for("foo"); // create a new global symbolSymbol.for("foo"); // retrieve the already created symbol// Same global symbol, but not locallySymbol.for("bar") === Symbol.for("bar"); // trueSymbol("bar") === Symbol("bar"); // false// The key is also used as the descriptionconst 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:

js
Symbol.for("mdn.foo");Symbol.for("mdn.bar");

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-symbol.for

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp