Sobes.tech
Middle

JavaScript'te prototip sistemi nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te prototip sistemi, nesne özellikleri ve metodlarının diğer nesnelerden miras alınabildiği bir kalıtım mekanizmasıdır.

Her nesnenin içsel bir özelliği [[Prototype]] (erişilebilir __proto__ veya Object.getPrototypeOf aracılığıyla) bulunur ve bu başka bir nesneye — prototipe — işaret eder. Bir nesnenin özelliğine erişildiğinde, özellik bulunamazsa, arama prototipte, sonra prototipin prototipinde devam eder ve null'a ulaşana kadar devam eder.

Bu, prototip zincirleri oluşturmaya ve sınıflar olmadan kalıtım gerçekleştirmeye olanak tanır (modern JS sürümlerinde, prototipleri kullanan sınıf sözdizimi de mevcuttur).

Örnek:

const animal = {
  speak() {
    console.log('Hayvan konuşuyor');
  }
};

const köpek = Object.create(animal);
köpek.bark = function() {
  console.log('Hav!');
};

köpek.bark();    // Hav!
köpek.speak();   // Hayvan konuşuyor (animal'dan kalıtılmış)

Bu şekilde, prototipler nesnelerin davranış ve özellikleri paylaşmasını sağlar, bu da JavaScript'te nesne yönelimli programlamanın temelidir.