JavaScript'te Nesne İçinde Fonksiyon
Symbol'ler kullanılarak nesnelere fonksiyonlar eklenebilir ve bu fonksiyonlar döngüye girmez. Deneyelim. Bir nesnemiz olsun:
let obj = {a: 1, b: 2, c: 3};
Bir Symbol oluşturalım:
let sym = Symbol();
Nesneye, anahtarı Symbol'ümüz olan bir fonksiyon yazalım:
obj[sym] = function() {
console.log('!!!');
};
Nesne döngüye alındığında fonksiyonumuz döngüye girmeyecek:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Fonksiyonumuzu alalım, anahtar olarak Symbol'ümüzü (aynı değişkeni) ileterek:
let func = obj[sym];
func();
Kod kısaltılabilir:
obj[sym]();
Nesneye, mevcut zamanı yazdıracak bir fonksiyon ekleyin. Bu fonksiyonu çağırın.