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 :

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

Maintenant, dans une autre fonction, obtenons l'accès à ce symbole par son nom :

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

Vérifions que les deux fonctions contiennent le même symbole. Appelons nos fonctions :

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

Comparons les symboles :

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

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.