JavaScript'te Object.create()
ve Object.assign()
Metotları
Object.create()
Object.create()
metodu, belirtilen bir prototip nesnesini kullanarak yeni bir nesne oluşturmak için kullanılan bir metottur. Bu metot, JavaScript'te prototip tabanlı kalıtımı gerçekleştirmek için yaygın olarak kullanılır.
const person = {
isHuman: false,
printIntroduction: function() {
console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);
}
};
const me = Object.create(person);
me.name = 'John';
me.isHuman = true;
me.printIntroduction(); // My name is John. Am I human? true
Yukarıdaki örnekte, person
adında bir prototip nesnesi oluşturulmuş ve Object.create()
metodu kullanılarak bu nesneye dayanan me
adında bir nesne oluşturulmuştur. Bu sayede me
nesnesi, person
nesnesinin özelliklerini ve metodlarını kullanabilir.
Object.assign()
Object.assign()
metodu, bir veya daha fazla kaynaktan hedefe özellikleri kopyalamak için kullanılan bir metottur. Bu metot, nesneler arasında özellikleri kopyalamanın yanı sıra nesneleri birleştirmek için de kullanılabilir.
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const merged = Object.assign({}, target, source);
console.log(merged); // { a: 1, b: 4, c: 5 }
Yukarıdaki örnekte, Object.assign()
metodu kullanılarak target
ve source
nesnelerinin özellikleri merged
nesnesine kopyalanmıştır. Eğer aynı isimde özellikler varsa, son kaynaktaki değer öncelikli olacaktır.
Özet
Object.create()
metodu, prototip tabanlı kalıtımı gerçekleştirmek için kullanılır ve yeni bir nesne oluştururken prototip nesnesini belirtir.Object.assign()
metodu, özellikleri kopyalamak veya birleştirmek için kullanılır ve hedef nesneye kaynak nesnelerin özelliklerini atar.
Bu metotlar JavaScript'te nesnelerle çalışırken oldukça yaygın olarak kullanılan metotlardır.