Globala symboler i JavaScript

Med metoden Symbol.for kan du skapa symboler med ett namn. Dessa symboler kommer att sparas i det globala symbolregistret och åtkomst till dem kan erhållas från vilken del av koden som helst.

Låt oss se hur detta fungerar. I en funktion skapar vi en symbol:

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

Nu i en annan funktion får vi åtkomst till denna symbol genom dess namn:

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

Låt oss kontrollera att båda funktionerna innehåller samma symbol. Låt oss anropa våra funktioner:

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

Låt oss jämföra symbolerna:

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

Antag att du har flera objekt. Lägg till en nyckel i form av en symbol med namnet 'sum' till var och en av dem. Skapa en funktion i denna nyckel som kommer att returnera summan av objektets element.