Symboles globaux en JavaScript
Avec la méthode Symbol.for
on peut créer des symboles avec un nom.
Ces symboles seront sauvegardés dans le
registre global des symboles
et on pourra y accéder
de n'importe où dans le code.
Voyons comment cela fonctionne. Dans une fonction, créons un symbole :
function func1() {
let sym = Symbol.for('test');
return sym;
}
Maintenant, dans une autre fonction, obtenons l'accès à ce symbole par son nom :
function func2() {
let sym = Symbol.for('test');
return sym;
}
Vérifions que les deux fonctions contiennent le même symbole. Appelons nos fonctions :
let sym1 = func1();
let sym2 = func2();
Comparons les symboles :
console.log(sym1 === sym2); // true
Supposons que vous ayez plusieurs objets.
Ajoutez à chacun d'eux une clé sous la forme
d'un symbole avec le nom 'sum'.
Mettez dans cette clé une fonction,
qui retournera la somme
des éléments de l'objet.