このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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

ブラウザーの互換性

関連情報