Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

JavaScript Fonksiyonları: getter ve setter Fonksiyonlar

Nesne içinde get veya set ile tanımlanan fonksiyonlardır.  get ile tanımlanan fonksiyonlar, nesnenin get'in yanında adı belirtilen özelliği değiştirilmek istendiğinde kendiliğinden çalıştırılır. set ile tanımlanan fonksiyonlar ise nesnenin set'in yanında adı belirtilen özelliğinin değeri istendiğinde kendiliğinden çalıştırılır. Bunu nesneye yönelik programlamanın sarmalama (encapsulation) özelliğini uygulamak veya özellikler üzerinde denetimlerde bulunmak için kullanabiliriz.

JavaScript nesneye yönelik programlamada sarmalama yoktur. Ancak başka makalelerde açıklamayı düşündüğün çeşitli programlama teknikleri ile sarmalama uygulanabilir.

set ile tanımlanan fonksiyonda bir parametre tanımlanır. Nesnenin bu özelliği değiştirilmek istendiğinde (örneğin nesne.Ozellik = 5 yazıldığında) yeni değer bu parametreye otomatik olarak atanır.

var sekil = {
    genislik: 0,
	// Bir setter fonksiyon.
    set Genislik(istenenGenislik) {
        if (istenenGenislik <= 0)
            throw "Genislik 0 veya daha az olamaz."; // Bundan sonrası çalışmaz.
        this.genislik = istenenGenislik;
    },
	// Bir getter fonksiyon.
    get Genislik() {
        return this.genislik;
    }
};

sekil.Genislik = 10; // set fonksiyonu çalışır. set fonksiyonundaki istenenGenislik parametresinin değeri 10 olur.
console.log(sekil.Genislik); // get fonsiyonu çalışır.

sekil.Genislik = 0; // set fonksiyonu çalışır ve hata verir.

Konsol çıktısı:

10
uncaught exception: Genislik 0 veya daha az olamaz.



JavaScript Fonksiyonları ile İlgili Makaleler: