Глобальные символы в JavaScript

С помощью метода Symbol.for можно создавать символы с именем. Эти символы будут сохранены в глобальный реестр символов и доступ к ним можно будет получить из любого места кода.

Давайте посмотрим, как это работает. В одной функции создадим символ:

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

Теперь в другой функции получим доступ к этому символу по его имени:

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

Проверим, что обе функции содержат один и тот же символ. Вызовем наши функции:

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

Сравним символы:

console.log(sym1 === sym2); // true

Пусть у вас есть несколько объектов. Добавьте каждому из них ключ в виде символа с именем 'sum'. Сделайте в этом ключе функцию, которая будет возвращать сумму элементов объекта.

enru