# symbol

Locked, prototype-pollution-resistant copy of the global `Symbol` factory and well-known symbols.

The `Symbol` constructor is wrapped in a [`createSymbol`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-createSymbol) factory and the well-known symbols ([`iterator`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), [`asyncIterator`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), [`toStringTag`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), [`hasInstance`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), [`match`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), [`replace`](https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/#api-Symbol), etc.) plus `Symbol.for` and `Symbol.keyFor` are captured at module-load time and frozen into a tamper-proof namespace, so symbol-keyed protocols stay trustworthy even if the global `Symbol` is later patched. Effective only when imported before any untrusted code has had a chance to mutate the prototype chain.

---

Canonical page: https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol/
This file: https://www.hyperfrontend.dev/docs/libraries/utils/immutable-api/built-in-copy/symbol.md
Documentation index: https://www.hyperfrontend.dev/llms.txt
