JavaScript'te new
, Constructor, instanceof
, Instances
new
Anahtar Kelimesi
JavaScript'te new
anahtar kelimesi, bir türü (constructor fonksiyonunu) temel alan yeni bir nesne oluşturmak için kullanılır. Bir türün bir örneğini oluştururken new
anahtar kelimesi kullanılır ve bu örnek nesne daha sonra belirtilen türün bir örneği olarak kabul edilir.
function Araba(marka, model) {
this.marka = marka;
this.model = model;
}
let araba = new Araba('Toyota', 'Corolla');
console.log(araba.marka); // Toyota
console.log(araba.model); // Corolla
Constructor (Yapıcı) Fonksiyon
Constructor fonksiyonları, new
anahtar kelimesi ile çağrıldığında bir nesne oluşturan ve bu nesneye varsayılan özellikler ekleyen özel JavaScript fonksiyonlardır. Constructor fonksiyonları genellikle büyük harfle başlar (örneğin, Araba
gibi) ve veri türlerinin instance'larını yaratmak için kullanılır.
function Ogrenci(ad, soyad) {
this.ad = ad;
this.soyad = soyad;
}
let ogrenci = new Ogrenci('Ali', 'Demir');
console.log(ogrenci.ad); // Ali
console.log(ogrenci.soyad); // Demir
instanceof
Operatörü
instanceof
operatörü, bir nesnenin belirli bir constructor fonksiyonundan oluşturulup oluşturulmadığını kontrol etmek için kullanılır. Operatör, sol tarafındaki nesnenin sağ tarafındaki constructor fonksiyonunun bir instance'ı olup olmadığını kontrol eder ve true
veya false
döndürür.
function Araba(marka, model) {
this.marka = marka;
this.model = model;
}
let araba = new Araba('Toyota', 'Corolla');
console.log(araba instanceof Araba); // true
console.log(araba instanceof Object); // true (Object en üst class olduğu için)
Instances (Örnekler)
JavaScript'te, bir constructor fonksiyonu aracılığıyla oluşturulan nesnelere "instance" adı verilir. Bu instance'lar, aynı constructor fonksiyonunu kullanarak oluşturulmuş diğer nesnelerden farklı olabilirler. Bir constructor fonksiyonundan oluşturulan her nesne, o constructor fonksiyonunun bir instance'ıdır.
function Kitap(baslik, yazar) {
this.baslik = baslik;
this.yazar = yazar;
}
let kitap1 = new Kitap('Harry Potter', 'J.K. Rowling');
let kitap2 = new Kitap('Sherlock Holmes', 'Arthur Conan Doyle');
console.log(kitap1 instanceof Kitap); // true
console.log(kitap2 instanceof Kitap); // true
Sonuç
new
anahtar kelimesi, constructor fonksiyonlarını (yapıcı fonksiyonlar) kullanarak yeni nesneler oluşturmak için kullanılır. Bu nesneler, belirli constructor fonksiyonlarına ait instance'lar olarak kabul edilir. instanceof
operatörü ise bir nesnenin belirli bir constructor fonksiyonundan oluşturulup oluşturulmadığını kontrol etmek için kullanılır. Bu yapılar, JavaScript programlamasında nesne odaklı programlama ve nesneler arası ilişkiler kurmak için önemli bir rol oynar.