Funkce v objektu v JavaScriptu
Pomocí symbolů do objektů lze přidávat funkce a tyto funkce se nebudou účastnit přecházení. Zkusme to. Předpokládejme, že máme objekt:
let obj = {a: 1, b: 2, c: 3};
Vytvořme symbol:
let sym = Symbol();
Zapišme do objektu funkci s klíčem ve formě našeho symbolu:
obj[sym] = function() {
console.log('!!!');
};
Při přecházení objektu naše funkce se nebude procházet:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Získáme naši funkci, jako klíč předáme náš symbol (stejnou proměnnou):
let func = obj[sym];
func();
Kód lze zkrátit:
obj[sym]();
Přidejte do objektu funkci, která bude vypisovat aktuální čas. Zavolejte tuto funkci.