CodeBlanks Logo Icon CodeBlanks

Object spread

... ile nesne birleştirme ve kopyalama öğrenirsin.

Object spread

Spread operatörü ... bir nesnenin tüm özelliklerini başka bir nesne literalına kopyalar. Bu, nesne birleştirme ve kopyalama için kısa bir yazımdır.

Sözdizimi: { ...kaynak, ek: deger }. Burada kaynak'taki tüm özellikler yeni nesneye kopyalanır, sonra ek özelliği eklenir. Aynı adlı özellik hem kaynakta hem de sonradan verilirse, son yazılan kazanır.

Örnek: const a = { x: 1 }; const b = { ...a, y: 2 };. Burada b nesnesi { x: 1, y: 2 } olur. Orijinal a nesnesi değişmez; spread bir sığ kopya (shallow copy) üretir.

Sığ kopya ve birleştirme

Spread ile yaptığın kopya sığdır: yalnızca en üst düzeydeki özellikler kopyalanır. İç içe nesneler referans olarak kopyalanır; yani içteki nesneyi değiştirirsen her iki nesne de etkilenir.

Örnek: const a = { profile: { name: 'Ayşe' } }; const b = { ...a }; b.profile.name = 'Mara';. Burada a.profile.name de 'Mara' olur çünkü profile her iki nesnede de aynı nesneyi gösterir.

İki nesneyi birleştirmek için spread zinciri kullanabilirsin: { ...a, ...b }. b'nin özellikleri a'dan gelen aynı adlı özellikleri geçersiz kılar. Bu basit birleştirme için yeterlidir.

Uygulama Profil birleştir

base adında { name: 'Ayşe', city: 'İstanbul' } nesnesini tanımla. extra adında { age: 30, city: 'İzmir' } nesnesini tanımla. Spread ile ikisini birleştirip merged nesnesi oluştur (extra içindeki city kazanır). merged.city değerini console.log ile yazdır.

Başlangıç kodu

index.js
// base ve extra nesnelerini tanımla, spread ile birleştir ve city değerini yazdır

Örnek çözüm

index.js
const base = { name: 'Ayşe', city: 'İstanbul' };
const extra = { age: 30, city: 'İzmir' };
const merged = { ...base, ...extra };
console.log(merged.city);

Beklenen çıktı

İzmir

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Spread parçalarını eşle

Kavram Anlamı
... Spread operatörü
{ ...a, y: 2 } Birleştirme
a Kaynak nesne
y: 2 Sonradan eklenen özellik

2 Spread ne yapar?

  • Özellikleri yeni nesneye kopyalar Doğru cevap
  • Nesneyi siler
  • Metot ekler
  • Tür değiştirir

Açıklama: spread özellikleri yeni nesneye kopyalar.

3 Spread ile override

Soru
const base = { age: 30 };
const updated = { ...base, age: ____ };
Cevap
const base = { age: 30 };
const updated = { ...base, age: 31 };

Açıklama: sonradan verilen age: 31 önceki 30 değerini geçersiz kılar.

Başlangıç bölümündeki tüm dersler