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.
The Symbol.keyFor()
static method retrieves a shared symbol
key from the global symbol registry for the given symbol.
Try it
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
Syntax
js
Symbol.keyFor(sym)
Parameters
sym
-
Symbol, required. The symbol to find a key for.
Return value
A string representing the key for the given symbol if one is found on the global registry; otherwise, undefined
.
Examples
Using keyFor()
js
const globalSym = Symbol.for("foo"); // create a new global symbol
Symbol.keyFor(globalSym); // "foo"
const localSym = Symbol();
Symbol.keyFor(localSym); // undefined
// well-known symbols are not symbols registered
// in the global symbol registry
Symbol.keyFor(Symbol.iterator); // undefined
Specifications
Specification |
---|
ECMAScript® 2025 Language Specification # sec-symbol.keyfor |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
keyFor |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.