Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Symbol

Создаёт уникальное значение — например, для ключа, который не пересечётся с другими.

Доступно с: ES2015

Синтаксис

Symbol(description)

Параметры

ПараметрТипОписание
descriptionstringНеобязательный. Описание для отладки.

Возвращаемое значение

symbolНовое уникальное значение.

Примеры

Каждый символ уникален:

const a = Symbol('id');
const b = Symbol('id');
 
console.log(a === b);
console.log(typeof a, a.description);

Результат:

false
symbol id

Символ как скрытый ключ объекта:

const id = Symbol('id');
const user = { name: 'Anna', [id]: 42 };
 
console.log(user[id]);
console.log(Object.keys(user));
console.log(JSON.stringify(user));

Результат:

42
[
  "name"
]
{"name":"Anna"}

Примечания

Свойства-символы не видны в Object.keys(), for...in и JSON.stringify(). Символ вызывают без new.

См. также

  • Symbol.for — Возвращает общий символ по имени: одинаковое имя — один и тот же символ.
  • Symbol.iterator — Особый ключ, который делает объект перебираемым в for...of и spread.
  • typeof — Возвращает строку с типом значения.

В учебнике

  • Символы — Тип symbol в JavaScript: уникальные значения, символы как ключи объектов, скрытые свойства, глобальный реестр Symbol.for и встроенные символы.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.