Símbolos Globais em JavaScript

Usando o método Symbol.for você pode criar símbolos com um nome. Esses símbolos serão salvos no registro global de símbolos e o acesso a eles poderá ser obtido de qualquer lugar do código.

Vamos ver como isso funciona. Em uma função, vamos criar um símbolo:

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

Agora, em outra função, vamos obter acesso a esse símbolo pelo seu nome:

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

Vamos verificar se ambas as funções contêm o mesmo símbolo. Vamos chamar nossas funções:

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

Vamos comparar os símbolos:

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

Suponha que você tenha vários objetos. Adicione a cada um deles uma chave na forma de um símbolo com o nome 'sum'. Crie neste chave uma função, que retornará a soma dos elementos do objeto.