Using the Symbol.for
method, you
can create symbols with a name. These
symbols will be stored in the
global Symbol registry and can
be retrieved from anywhere in the code.
Let's see how it works. Let's create a symbol in one function:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Now in another function we will retrieve this symbol by its name:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Let's check that both functions contain the same symbol. We call our functions:
let sym1 = func1();
let sym2 = func2();
And compare the symbols:
console.log(sym1 === sym2); // true
Suppose you have several objects. Add
a key to each of them in the form of
the symbol named 'sum'
. Make a
function in this key that will return
the sum of the object elements.