Objekt ichidagi funksiya JavaScriptda
Simvollar yordamida ob'ektlarga funksiyalar qo'shish mumkin va bu funksiyalar takrorlashda qatnashmaydi. Keling, sinab ko'ramiz. Bizda quyidagi ob'ekt bo'lsin:
let obj = {a: 1, b: 2, c: 3};
Symbol yaratamiz:
let sym = Symbol();
Ob'ektga bizning simbolimiz ko'rinishidagi kalit bilan funksiya yozamiz:
obj[sym] = function() {
console.log('!!!');
};
Ob'ektni takrorlashda bizning funksiyamiz takrorlanmaydi:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Bizning simbolimizni (o'sha o'zgaruvchini) kalit sifatida berib, funksiyamizni olamiz:
let func = obj[sym];
func();
Kodni qisqartirish mumkin:
obj[sym]();
Ob'ektga joriy vaqtni chiqaradigan funksiya qo'shing. Ushbu funksiyani chaqiring.