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.

Yazılım Makaleleri

0

JavaScript Fonksiyonları: Nesne Yapılandırıcısı (Constructor) Olarak Fonksiyon Kullanma

Bir fonksiyon bir nesne yapılandırmak için, hatta bir sınıf tanımlamak için kullanılabilir. Bu şekilde oluşturulan sınıfın adı fonksiyonun adı olur.

Örnek:

function Kisi(adi, soyadi) {
	this.adi = adi;
	this.soyadi = soyadi;
	this.kimlikYaz = function() {
		console.log(this.adi + " " + this.soyadi);
	};
}

var ogretmen = new Kisi("Ahmet", "Geçe");

ogretmen.kimlikYaz(); // Nesnenin kimlikYaz metodunu çağır.

Çıktısı:

Ahmet Geçe

Örnekteki this ifadesi, sınıfın örneğini (oluşturulan nesne) ifade eder. this.adi  ifadesi de oluşturulan nesnenin adi özelliğini işaret eder.

this.kimlikYaz bir fonksiyon ifadesi olarak tanımlanmıştır. Bu da Kisi sınıfının bir metodudur.

Bu şekilde tanımlanan bir sınıfın örneğini (nesne) oluşturmak için new operatörüyle beraber sınıf adı ve varsa parametreleri bildirilir. Dönen değer bir nesnedir ve örneğimizde olduğu gibi (ogretmen bir nesnedir) bir değişkene atayarak nesneyi bundan sonra bu değişken aracılğıyla (referans) kullanırız.

Görüldüğü gibi son satırda Kisi sınıfının kimlikYaz metodu çağırılmakta ve sonuç olarak nesnenin adi ve soyadi özelliklerinin değerleri çıktıya yazılmaktadır.

Sınıfın özellik ve metodları sınıf dışından da tanımlanabilir, sonradan eklenebilir. Fakat burada konumuz fonksiyonlar olduğundan bu konulara değinilmemiştir.

Son olarak fonksiyon adının baş harfinin büyük yazıldığına dikkat edin. Zorunlu değildir ama JavaScript programlamada değişken ve fonksiyon isimleri için küçük harfle başlamak ve varsa sonraki kelimelerin baş harflerini büyük yazmak (lowerCamelCase), sınıf isimlerinde ise baş harfini büyük yazma (UpperCamelCase) tavsiye edilir.



JavaScript Fonksiyonları ile İlgili Makaleler: