Objektdə funksiya JavaScript-də
Simvollar vasitəsilə obyektlərə funksiyalar əlavə edə bilərik və bu funksiyalar təkrarlanmada iştirak etməyəcək. Gəlin cəhd edək. Tutaq ki, bizim bir obyektimiz var:
let obj = {a: 1, b: 2, c: 3};
Bir simvol yaradaq:
let sym = Symbol();
Obyektə, açarı bizim simvolumuz şəklində olan bir funksiya yazaq:
obj[sym] = function() {
console.log('!!!');
};
Obyekti təkrarladıqda bizim funksiyamız təkrarlanmayacaq:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Açar olaraq simvolumuzu (eyni dəyişəni) ötürərək bizim funksiyamızı əldə edək:
let func = obj[sym];
func();
Kodu qısaltmaq olar:
obj[sym]();
Obyektə cari vaxtı çıxaran bir funksiya əlavə edin. Bu funksiyanı çağırın.