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:
javascriptlet obj = {a: 1, b: 2, c: 3};
Creiamo un simbolo:
javascriptlet sym = Symbol();
Registriamo nell'oggetto una funzione con una chiave sotto forma del nostro simbolo:
javascriptobj[sym] = function() {
console.log('!!!');
};
Durante l'iterazione dell'oggetto la nostra funzione non verrà iterata:
javascriptfor (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Otteniamo la nostra funzione, passando come chiave il nostro simbolo (la stessa variabile):
javascriptlet func = obj[sym];
func();
È possibile abbreviare il codice:
javascriptobj[sym]();
Задание 1
Aggiungete all'oggetto una funzione che visualizzi l'ora corrente. Richiamate questa funzione.