Object.assign() ile Nesne Birleştirme ve Klonlama
Bir nesnenin özellikleri ve değerleri doğrudan atanabildiği gibi Object
sınıfının .assign()
metodu ile (Object.assign()
) de atanabilir. Örnek.
İlk argüman nesnenin kendisi olurken gerisi de nesne tipinde 'anahtar:değer' ikilileridir. Yani Object.assign(object, Object)
olarak argümanlar almaktadır.
Var olan bir özelliği .assign()
ile atarsanız var olanın üzerine yazar. Örnek.
Object.assign()
ile farklı nesneler birleştirilebilir. Örnek.
Bu fonksiyon klonlama için de kullanılır. Klonlama orijinalden bağımsız bir kopya oluşturmaktır. Referans tipler değeri değil adresi taşıdığı için yapılan değişikliklerden etkilenir. Daha iyi anlamak için şu örneğe bakınız.
Nesnelerin birbirini referans etmeyen bağımsız kopyalarını oluşturup üzerinde çalışmak için Object.assign()
fonksiyonunun ilk argümanını boş nesne bırakarak oluşturabilirsiniz. Örnek.
Fakat bu kolaylık değerlerde nesne kullanılmışsa işe yaramaz. Örnek.
Bu problem lodash.js kitaplığındaki .cloneDeep()
metodu ile çözülebilir. Daha fazlası için bakınız: https://lodash.com/
Last updated