Globalni simboli v JavaScript

Z metodo Symbol.for lahko ustvarimo simbole z imenom. Ti simboli bodo shranjeni v globalni register simbolov in do njih lahko dostopamo iz katerega koli dela kode.

Poglejmo, kako to deluje. V eni funkciji ustvarimo simbol:

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

Zdaj v drugi funkciji pridobimo dostop do tega simbola po njegovem imenu:

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

Preverimo, ali obe funkciji vsebujeta isti simbol. Pokličimo naše funkcije:

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

Primerjajmo simbole:

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

Recimo, da imate več objektov. Vsakemu od njih dodajte ključ v obliki simbola z imenom 'sum'. V tem ključu naredite funkcijo, ki bo vrnila vsoto elementov objekta.