Simboli globali in JavaScript
Con il metodo Symbol.for
puoi creare simboli con un nome.
Questi simboli verranno salvati nel
registro globale dei simboli
e l'accesso ad essi potrà essere ottenuto
da qualsiasi parte del codice.
Vediamo come funziona. In una funzione creiamo un simbolo:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Ora in un'altra funzione otteniamo accesso a questo simbolo tramite il suo nome:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Verifichiamo che entrambe le funzioni contengano lo stesso simbolo. Chiamiamo le nostre funzioni:
let sym1 = func1();
let sym2 = func2();
Confrontiamo i simboli:
console.log(sym1 === sym2); // true
Supponiamo che tu abbia diversi oggetti.
Aggiungi a ciascuno di essi una chiave sotto forma di
simbolo con nome 'sum'.
Crea in questa chiave una funzione,
che restituirà la somma
degli elementi dell'oggetto.