Object.assign Metodu
Object.assign metodu, kaynak nesnenin özelliklerini ve değerlerini kopyalayarak
yeni bir nesne döndürür. Metodun ilk parametresinde,
kopyalama yapacağımız hedef nesneyi belirtiriz,
ikincisinde ise kopyalanacak nesneleri belirtiriz.
Sözdizimi
Object.assign(nereye kopyalanacak, nesneler);
Örnek
Kaynaktan yeni bir nesne elde edelim:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Kodun çalıştırılmasının sonucu:
{a: 1, b: 2, c: 3}
Örnek
Şimdi birkaç kaynaktan yeni bir nesne elde edelim, onları parametrede virgülle ayırarak belirtelim:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Kod çalıştıktan sonra göreceğiz ki, iki kaynak nesne birleşerek tek bir yeni nesne oluşturdu:
{a: 1, b: 2, c: 3, d: 4}
Örnek
Ayrıca Object.assign metodu,
yeni bir dizi elde etmek için de kullanılabilir,
çünkü dizi tür olarak nesnelere aittir.
Kaynaktaki elemanları kopyalayarak
yeni bir dizi oluşturalım:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Kodun çalıştırılmasının sonucu:
[1, 2, 3, 4]
Örnek
Object.assign metodunu kullanırken
sözdizimine dikkatli şekilde uymak gerekir.
Örneğin, ilk parametreye hedef nesne eklenmezse ve
sadece kopyalanacak nesne belirtilirse, o nesne geri döndürülür:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Kodun çalıştırılmasının sonucu:
true
Ayrıca Bakınız
-
Object.keysmetodu,
nesnenin özelliklerinden oluşan bir dizi döndürür -
Object.valuesmetodu,
nesnenin değerlerinden oluşan bir dizi döndürür