Symbol.keyFor()

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.

Symbol.keyFor() 静的メソッドは、指定されたシンボルについて、共有シンボルキーをグローバルシンボルレジストリーから受け取ります。

試してみましょう

const globalSym = Symbol.for("foo"); // Global symbol

console.log(Symbol.keyFor(globalSym));
// Expected output: "foo"

const localSym = Symbol(); // Local symbol

console.log(Symbol.keyFor(localSym));
// Expected output: undefined

console.log(Symbol.keyFor(Symbol.iterator));
// Expected output: 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

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-symbol.keyfor

ブラウザーの互換性

BCD tables only load in the browser

関連情報