Globale symboler i JavaScript

Ved hjælp af metoden Symbol.for kan man oprette symboler med et navn. Disse symboler vil blive gemt i det globale symbolregister og adgang til dem kan opnås fra enhver del af koden.

Lad os se, hvordan dette fungerer. I en funktion opretter vi et symbol:

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

Nu i en anden funktion henter vi adgang til dette symbol via dets navn:

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

Lad os kontrollere, at begge funktioner indeholder det samme symbol. Lad os kalde vores funktioner:

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

Lad os sammenligne symbolerne:

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

Antag, at du har flere objekter. Tilføj en nøgle til hver af dem i form af et symbol med navnet 'sum'. Lav en funktion i denne nøgle, som vil returnere summen af objektets elementer.