Перебор объекта с символами в JavaScript
Преимуществом типа Symbol
в качестве
ключа объекта является то, что такие ключи
не будут участвовать в переборе циклом.
Давайте посмотрим на примере. Пусть у нас есть следующий объект:
let obj = {a: 1, b: 2, c: 3};
Добавим в этот объект новый элемент с ключом из символа:
let sym = Symbol();
obj[sym] = 'text';
Переберем этот объект циклом. В результате мы увидим все элементы, кроме нашего с ключом из символа:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Сделайте объект с ключом из символа. Переберите его циклом. Убедитесь, что символ не участвует в переборе.