Funkcia v objekte v JavaScript
Pomocou symbolov do objektov môžeme pridávať funkcie a tieto funkcie sa nebudú zúčastňovať prechádzania. Vyskúšajme to. Nech máme objekt:
let obj = {a: 1, b: 2, c: 3};
Vytvorme symbol:
let sym = Symbol();
Zapíšme do objektu funkciu s kľúčom v podobe nášho symbolu:
obj[sym] = function() {
console.log('!!!');
};
Pri prechádzaní objektu sa naša funkcia nebude prechádzať:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Získajme našu funkciu, ako kľúč odovzdajme náš symbol (rovnakú premennú):
let func = obj[sym];
func();
Kód je možné skrátiť:
obj[sym]();
Pridajte do objektu funkciu, ktorá bude vypisovať aktuálny čas. Zavolajte túto funkciu.