Iteracja obiektu z symbolami w JavaScript
Zalety typu Symbol jako
klucza obiektu polegają na tym, że takie klucze
nie będą uczestniczyć w iteracji pętlą.
Spójrzmy na przykład. Załóżmy, że mamy następujący obiekt:
let obj = {a: 1, b: 2, c: 3};
Dodajmy do tego obiektu nowy element z kluczem ze symbolu:
let sym = Symbol();
obj[sym] = 'text';
Przejdźmy pętlą po tym obiekcie. W rezultacie zobaczymy wszystkie elementy, z wyjątkiem naszego z kluczem ze symbolu:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Stwórz obiekt z kluczem ze symbolu. Przejdź po nim pętlą. Upewnij się, że symbol nie uczestniczy w iteracji.