Symbol — это уникальное, неизменяемое примитивное значение, введённое в ES6. Оно в первую очередь используется как ключ свойства объекта для избежания коллизий имён.
Используй глобальную функцию Symbol() с опциональной строкой описания:
const mySymbol = Symbol("description");
Каждый созданный Symbol гарантированно уникален, даже если два Symbol'а имеют одинаковое описание:
Symbol("a") === Symbol("a") // false
for...in и Object.keys(), что позволяет не выставлять детали реализации в публичный интерфейсSymbol.iterator и Symbol.toPrimitive для кастомизации базового поведения языка на твоих объектахObject.getOwnPropertySymbols()Два Symbol, созданные с одинаковыми описаниями, всегда будут равны при сравнении с оператором строгого равенства.
Новый — ещё не проверен сообществом
Вы