Símbolos globales en JavaScript
Con el método Symbol.for
se pueden crear símbolos con nombre.
Estos símbolos se guardarán en el
registro global de símbolos
y se podrá acceder a ellos
desde cualquier parte del código.
Veamos cómo funciona esto. En una función creemos un símbolo:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Ahora en otra función obtengamos acceso a este símbolo por su nombre:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Comprobemos que ambas funciones contienen el mismo símbolo. Llamemos nuestras funciones:
let sym1 = func1();
let sym2 = func2();
Comparemos los símbolos:
console.log(sym1 === sym2); // true
Supongamos que tiene varios objetos.
Añada a cada uno una clave en forma de
símbolo con el nombre 'sum'.
Haga en esta clave una función
que devuelva la suma de
los elementos del objeto.