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
javascriptObject.assign(nereye kopyalanacak, nesneler);
Örnek
Kaynaktan yeni bir nesne elde edelim:
javascriptlet obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Kodun çalıştırılmasının sonucu:
javascript{a: 1, b: 2, c: 3}
Örnek
Şimdi birkaç kaynaktan yeni bir nesne elde edelim, onları parametrede virgülle ayırarak belirtelim:
javascriptlet 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:
javascript{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:
javascriptlet arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Kodun çalıştırılmasının sonucu:
javascript[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:
javascriptlet obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Kodun çalıştırılmasının sonucu:
javascripttrue
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