JavaScript да объектдаги функция
Символлар ёрдамида объектларга функциялар қўшиш мумкин ва бу функциялар қайталашда иштирок етмайдилар. Келиб, синаб кўрамиз. Бизда объект бор дейлик:
let obj = {a: 1, b: 2, c: 3};
Символ яратамиз:
let sym = Symbol();
Объектга бизнинг символымиз кўринишидаги калит билан функция ёзамиз:
obj[sym] = function() {
console.log('!!!');
};
Объектни қайталашда бизнинг функциямиз қайталанмайди:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Бизнинг символымизни (ўша ўзгарувчини) калит сифатида берib, бизнинг функциямизни оламиз:
let func = obj[sym];
func();
Кодни қисқартириш мумкин:
obj[sym]();
Объектга ҳозирги вақтни чиқарувчи функция қўшинг. Бу функцияни чақиринг.