Nesneler, ilgili verileri ve bu verilere uygulanan işlevleri bir araya getiren karmaşık veri yapılarıdır.
Nesne Nedir?
Tanım: Bir nesne, anahtar-değer çiftlerinden oluşan bir koleksiyondur. Anahtarlar genellikle stringlerdir (veya Symbol’ler), değerler ise herhangi bir JavaScript veri tipi olabilir (sayı, string, boolean, dizi, başka bir nesne vb.).
Neden Nesne Kullanmalıyız? Verileri organize etmek, ilgili verileri ve işlevleri bir arada tutmak ve daha karmaşık programlar oluşturmak için nesneler idealdir.
Nesne Oluşturma
Nesne Literal: En yaygın yöntemdir. Süslü parantezler {} içinde anahtar-değer çiftleri virgülle ayrılır.
let ogrenci = {
ad: "Ali",
soyad: "Yılmaz",
yas: 20,
notlar: [85, 90, 78],
mezunMu: false
};Yapıcı (Constructor) Fonksiyonları: Nesneler oluşturmak için kullanılan özel fonksiyonlardır.
function Ogrenci(ad, soyad, yas) {
this.ad = ad;
this.soyad = soyad;
this.yas = yas;
this.notlar = [];
this.mezunMu = false;
}
let ogrenci1 = new Ogrenci("Ayşe", "Demir", 22);Object() Constructor: Daha az yaygın kullanılan bir yöntemdir.
let kisi = new Object();
kisi.ad = "Veli";
kisi.soyad = "Can";Nesne Özelliklerine Erişim
Noktalama İşareti (.): Anahtar adını nokta ile belirtin.
console.log(ogrenci.ad); // "Ali" çıktısı verir
console.log(ogrenci.yas); // 20 çıktısı verirKöşeli Parantez Notasyonu ([]): Anahtar adını string olarak köşeli parantezler içinde belirtin. Özellikle anahtar adı değişkensel ise veya boşluk içeriyorsa kullanılır.
let ogrenciAd = "ad";
console.log(ogrenci[ogrenciAd]); // "Ali" çıktısı verir
let ogrenciNesnesi = {
"öğrenci adı": "Fatma",
yas: 21
};
console.log(ogrenciNesnesi["öğrenci adı"]); // "Fatma" çıktısı verirthis Anahtar Kelimesi
Anlamı: Bir nesne içindeki bir metot çağrıldığında, this anahtar kelimesi o nesneyi referans eder.
Örnek:
let ogrenci = {
ad: "Ali",
soyad: "Yılmaz",
tanit: function() {
console.log("Benim adım " + this.ad + " " + this.soyad);
}
};
ogrenci.tanit(); // "Benim adım Ali Yılmaz" çıktısı verirNesne Metotları (Object Methods)
Tanım: Bir nesnenin içindeki fonksiyonlardır. Nesnenin davranışlarını tanımlar.
Örnek:
let ogrenci = {
ad: "Ali",
soyad: "Yılmaz",
tanit: function() {
console.log("Benim adım " + this.ad + " " + this.soyad);
},
notEkle: function(not) {
this.notlar.push(not);
}
};
ogrenci.tanit(); // "Benim adım Ali Yılmaz" çıktısı verir
ogrenci.notEkle(90);
console.log(ogrenci.notlar); // [85, 90, 78, 90] çıktısı verirPrototype Zinciri (Prototype Chain)
Tanım: JavaScript’te her nesnenin bir prototipine referansı vardır. Bir nesneye erişmeye çalışırken ve o özellik bulunamazsa, JavaScript prototip zincirini yukarı doğru tarar ve özelliği bulmaya çalışır.
Amacı: Kodun yeniden kullanılabilirliğini artırmak ve ortak özellikleri paylaşmak için kullanılır.
JSON Formatı (JavaScript Object Notation)
Tanım: Veri alışverişinde kullanılan hafif bir veri formatıdır. JavaScript nesnelerine benzer bir yapıya sahiptir.
Kullanımı: Web servislerinden veri almak veya verileri web servisine göndermek için yaygın olarak kullanılır.
Örnek:
{
"ad": "Ayşe",
"soyad": "Demir",
"yas": 22
}Kaynak: https://developer.mozilla.org/en-US/docs/Web/JavaScript