Simboluri globale în JavaScript
Cu ajutorul metodei Symbol.for
se pot crea simboluri cu nume.
Aceste simboluri vor fi salvate în
registrul global de simboluri
și accesul la ele va putea fi obținut
din orice loc din cod.
Să vedem cum funcționează. Într-o funcție vom crea un simbol:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Acum în altă funcție vom obține acces la acest simbol după numele său:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Să verificăm că ambele funcții conțin același simbol. Să apelăm funcțiile noastre:
let sym1 = func1();
let sym2 = func2();
Să comparăm simbolurile:
console.log(sym1 === sym2); // true
Să presupunem că aveți mai multe obiecte.
Adăugați fiecăruia o cheie sub forma
unui simbol cu numele 'sum'.
Faceți în această cheie o funcție,
care va returna suma
elementelor obiectului.