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.