Funkcija objekte JavaScript
Naudojant simbolius į objektus galima pridėti funkcijas ir šios funkcijos nedalyvaus perėjime. Pabandykime. Tarkime, kad turime objektą:
let obj = {a: 1, b: 2, c: 3};
Sukurkime simbolį:
let sym = Symbol();
Įrašykime į objektą funkciją su raktu mūsų simbolio pavidalu:
obj[sym] = function() {
console.log('!!!');
};
Perrenkant objektą mūsų funkcija nebus perrenkama:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Gaukime mūsų funkciją, kaip raktą perduodant mūsų simbolį (tą patį kintamąjį):
let func = obj[sym];
func();
Galima sutrumpinti kodą:
obj[sym]();
Pridėkite į objektą funkciją, kuri rodys dabartinį laiką. Iškvieskite šią funkciją.