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:

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

Ora in un'altra funzione otteniamo accesso a questo simbolo tramite il suo nome:

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

Verifichiamo che entrambe le funzioni contengano lo stesso simbolo. Chiamiamo le nostre funzioni:

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

Confrontiamo i simboli:

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

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.