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:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Nu i en anden funktion henter vi adgang til dette symbol via dets navn:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Lad os kontrollere, at begge funktioner indeholder det samme symbol. Lad os kalde vores funktioner:
let sym1 = func1();
let sym2 = func2();
Lad os sammenligne symbolerne:
console.log(sym1 === sym2); // true
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.