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:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Teraz w innej funkcji uzyskajmy dostęp do tego symbolu po jego nazwie:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Sprawdźmy, że obie funkcje zawierają ten sam symbol. Wywołajmy nasze funkcje:
let sym1 = func1();
let sym2 = func2();
Porównajmy symbole:
console.log(sym1 === sym2); // true
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.