Funktio oliossa JavaScriptissä

Symboleiden avulla olioihin voi lisätä funktioita, eivätkä nämä funktiot osallistu läpikäyntiin. Kokeillaan. Olkoon meillä olio:

javascriptlet obj = {a: 1, b: 2, c: 3};

Luodaan symboli:

javascriptlet sym = Symbol();

Kirjoitetaan olioon funktio avaimena käyttäen symboliamme:

javascriptobj[sym] = function() {
  console.log('!!!');
};

Oliota läpikäydessä funktiomme ei tule läpikäydyksi:

javascriptfor (let key in obj) {
  console.log(obj[key]); // 1, 2, 3
}

Saadaan funktiomme avaimena antamalla symbolimme (sama muuttuja):

javascriptlet func = obj[sym];
func();

Koodia voi lyhentää:

javascriptobj[sym]();
Задание 1

Lisää olioon funktio, joka tulostaa nykyisen ajan. Kutsu tämä funktio.