
ES6 - Symbol
Symbol это уникальный и неизменяемый тип данных.
Свойства символов:
При создании символам можно дать имя.
Symbol это уникальный и неизменяемый тип данных.
Свойства символов:
При создании символам можно дать имя.
Создаём символ id с описанием (именем) "id"Они гарантированно уникальны.
let id = Symbol("id");
let id1 = Symbol("id");Не преобразуются автоматически в строки.
let id2 = Symbol("id");
alert(id1 == id2); // false
let id = Symbol("id");Позволяют создавать «скрытые» свойства объектов, к которым нельзя обратиться из других частей программы и перезаписать их.
alert(id); // TypeError: Cannot convert a Symbol value to a string
let id = Symbol("id");Игнорируются циклом for…in
let user = {
name: "Вася",
age: 30,
[id]: 123 // просто "id: 123" не сработает
};
for (let key in user) alert(key); // name, age (свойства с ключом-символом нет среди перечисленных)