Programlama dillerinde nesnelerin ne olduğunu anlatmadan önce isterseniz gerçek hayatta nesneleri ele alalım. Böylece programlama dillerinin nesnelere bakış açısını kavramamız belki biraz daha kolaylaşmış olur.
Örneğin gerçek hayatta araba bir nesnedir. Arabanın ağırlık, motor hacmi, renk gibi özellikleri ve çalıştırma, durdurma gibi işlevleri(metodları) vardır.
Tüm arabalar aynı özelliklere sahiptir, ama özellik değerleri arabadan arabaya farklılık gösterir. Bir arabanın renk özelliği maviyken diğeri kırmızı olabilir. Tüm arabalar aynı işlevlere(metodlara) sahiptir, ama farklı zamanlarda kullanılırlar.
Şimdi örnek bir araba alalım isterseniz:
Nesne | Özellik | Metod |
araba.marka = Fiat araba.model = 500 araba.agirlik = 850kg araba.renk = beyaz | araba.calistir() araba.sur() araba.frenyap() araba.durdur() |
Daha önceden de öğrendiğiniz gibi Javascript’te değişkenler veri değerlerini depolamak için kullanılır. Aşağıdaki şekilde bir değişken oluşturup içinde aracın markasını depolayabilirsiniz.
var arabaMarka = "Fiat";
Nesnelerde aslında birer değişkendirler. Ancak sıradan değişkenlerden farklı olarak çok sayıda veri değerini depolayabilirler.
var araba = {marka:"Fiat", model: "500", renk: "beyaz"};
Gördüğünüz gibi araba nesnesi, arabanın 3 farklı özelliğini depolayabiliyor. Özellikler, özellikAdı:değer ikilileri şeklinde kurulurlar.
Javascript’te metodlar nesneler üzerinde çalıştırılabilen işlemlerdir. Metotlar bir anlamda nesnenin yapabileceği eylemler olarak da görülebilir. Metodlarda fonksiyon olarak özellikler gibi, özellik:fonksiyon ikilisi şeklinde depolanabilirler.
var araba = { marka:"Fiat", model: "500", renk: "beyaz", bilgi: function(){return this.marka+ “ ” + this.model;} };
Metodlar içerisinde kullanılan this anahtar kelimesi metodun ait olduğu nesneyi ifade eder. Bu sebeple yukarıdaki “bilgi” metodu içerisinden diğer özelliklere this anahtar kelimesi ile ulaşabilmekteyiz.
Nesne özelliklerine erişmek için yukarıdaki şekilde nesneAdı.özellikAdı; yazım şekli kullanılır. Örneğin aracın modeline ulaşmak istediğinizde;
araba.model;
Nesne içindeki metoda ulaşmak istediğinizde ise benzer şekilde nesneAdı.metodAdı(); yazım şeklini kullanabilirsiniz.
araba.bilgi();
Bir javascript uygulaması içerisinde nesne kullanımını basit bir örnekle inceleyecek olursak aşağıdaki örnekte bir kişinin banka bilgileri bir nesne içerisinde tutuluyor ve bu kişiye ait bilgiler düzenli ve okunabilir bir formatta yazdırılmak için nesne içerisindeki metoddan yararlanılıyor.
See the Pen
Javascript veri türlerinde nesneler by Oben SEVEN (@obenseven)
on CodePen.
Bağlantıda Kalalım