Funzione in un oggetto in JavaScript
Tramite i simboli negli oggetti è possibile aggiungere funzioni e queste funzioni non parteciperanno all'iterazione. Proviamo. Supponiamo di avere un oggetto:
let obj = {a: 1, b: 2, c: 3};
Creiamo un simbolo:
let sym = Symbol();
Registriamo nell'oggetto una funzione con una chiave sotto forma del nostro simbolo:
obj[sym] = function() {
console.log('!!!');
};
Durante l'iterazione dell'oggetto la nostra funzione non verrà iterata:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Otteniamo la nostra funzione, passando come chiave il nostro simbolo (la stessa variabile):
let func = obj[sym];
func();
È possibile abbreviare il codice:
obj[sym]();
Aggiungete all'oggetto una funzione che visualizzi l'ora corrente. Richiamate questa funzione.