Globalne symbole w JavaScript

Za pomocą metody Symbol.for można tworzyć symbole z nazwą. Te symbole będą zapisane w globalnym rejestrze symboli i dostęp do nich można będzie uzyskać z dowolnego miejsca kodu.

Spójrzmy, jak to działa. W jednej funkcji utwórzmy symbol:

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

Teraz w innej funkcji uzyskajmy dostęp do tego symbolu po jego nazwie:

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

Sprawdźmy, że obie funkcje zawierają ten sam symbol. Wywołajmy nasze funkcje:

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

Porównajmy symbole:

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

Załóżmy, że masz kilka obiektów. Dodaj każdemu z nich klucz w postaci symbolu o nazwie 'sum'. Umieść w tym kluczu funkcję, która będzie zwracać sumę elementów obiektu.