Funcție în obiect în JavaScript
Cu ajutorul simbolurilor în obiecte putem adăuga funcții și aceste funcții nu vor participa la iterare. Să încercăm. Să presupunem că avem un obiect:
let obj = {a: 1, b: 2, c: 3};
Să creăm un simbol:
let sym = Symbol();
Să scriem în obiect o funcție cu cheia sub forma simbolului nostru:
obj[sym] = function() {
console.log('!!!');
};
La iterarea obiectului funcția noastră nu va fi iterată:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Să obținem funcția noastră, transmitând ca cheie simbolul nostru (aceeași variabilă):
let func = obj[sym];
func();
Putem scurta codul:
obj[sym]();
Adăugați în obiect o funcție care va afișa ora curentă. Apelați această funcție.