Iteração de objeto com símbolos em JavaScript
A vantagem do tipo Symbol como
chave de um objeto é que tais chaves
não participarão da iteração em loop.
Vamos ver um exemplo. Suponha que temos o seguinte objeto:
let obj = {a: 1, b: 2, c: 3};
Vamos adicionar um novo elemento a este objeto com uma chave de símbolo:
let sym = Symbol();
obj[sym] = 'texto';
Vamos iterar este objeto com um loop. Como resultado, veremos todos os elementos, exceto aquele com a chave de símbolo:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Crie um objeto com uma chave de símbolo. Itere-o com um loop. Certifique-se de que o símbolo não participa da iteração.