ფუნქცია ობიექტში 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
}
მივიღოთ ჩვენი ფუნქცია, გასაღებად ჩვენი სიმბოლოს (იგივე ცვლადის) მიწოდებით:
let func = obj[sym];
func();
შესაძლებელია კოდის შემოკლება:
obj[sym]();
დაამატეთ ობიექტში ფუნქცია, რომელიც გამოიტანს მიმდინარე დროს. გამოიძახეთ ეს ფუნქცია.