Globálne symboly v JavaScripte

Pomocou metódy Symbol.for možno vytvárať symboly s menom. Tieto symboly budú uložené v globálnom registri symbolov a prístup k nim bude možné získať z akéhokoľvek miesta kódu.

Pozrime sa, ako to funguje. V jednej funkcii vytvorme symbol:

javascriptfunction func1() {
  let sym = Symbol.for('test');
  return sym;
}

Teraz v inej funkcii získame prístup k tomuto symbolu podľa jeho mena:

javascriptfunction func2() {
  let sym = Symbol.for('test');
  return sym;
}

Skontrolujeme, že obe funkcie obsahujú rovnaký symbol. Zavolajme naše funkcie:

javascriptlet sym1 = func1();
let sym2 = func2();

Porovnajme symboly:

javascriptconsole.log(sym1 === sym2); // true
Задание 1

Nech máte niekoľko objektov. Pridajte každému z nich kľúč v podobe symbolu s menom 'sum'. Urobte v tomto kľúči funkciu, ktorá bude vracať súčet prvkov objektu.