Symbol.keyFor()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。
Symbol.keyFor() 静的メソッドは、指定されたシンボルについて、共有シンボルキーをグローバルシンボルレジストリーから受け取ります。
試してみましょう
const globalSym = Symbol.for("foo"); // グローバルシンボル
console.log(Symbol.keyFor(globalSym));
// 予想される結果: "foo"
const localSym = Symbol(); // ローカルシンボル
console.log(Symbol.keyFor(localSym));
// 予想される結果: undefined
console.log(Symbol.keyFor(Symbol.iterator));
// 予想される結果: undefined
構文
js
Symbol.keyFor(sym)
引数
sym-
シンボル、必須。キーを探すシンボル。
返値
グローバルレジストリーで見つかった場合は、与えられたシンボルのキーを表す文字列です。それ以外の場合は undefined です。
例
>keyFor() の使用
js
const globalSym = Symbol.for("foo"); // 新しいグローバルシンボルを作成
Symbol.keyFor(globalSym); // "foo"
const localSym = Symbol();
Symbol.keyFor(localSym); // undefined
// ウェルノウンシンボルは、グローバルシンボルレジストリーの
// 登録されたシンボルでない
Symbol.keyFor(Symbol.iterator); // undefined
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-symbol.keyfor> |