Az Object.assign metódus
Az Object.assign metódus másolja a forrásobjektum tulajdonságait és értékeit,
miközben egy új objektumot ad vissza. A metódus első paraméterében
meghatározzuk a célobjektumot, amibe másolunk,
a másodikban pedig megadjuk a másolandó objektumokat.
Szintaxis
Object.assign(hova másoljuk, objektumok);
Példa
Készítsünk új objektumot a forrásból:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
A kód végrehajtásának eredménye:
{a: 1, b: 2, c: 3}
Példa
Most készítsünk új objektumot több forrásból, felsorolva őket a paraméterben vesszővel elválasztva:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
A kód végrehajtása után látni fogjuk, hogy a két forrásobjektum egy új objektumban egyesült:
{a: 1, b: 2, c: 3, d: 4}
Példa
Az Object.assign metódust
új tömb létrehozására is használhatjuk,
mivel a tömb típus szerint szintén objektum.
Készítsünk új tömböt, másolva az elemeket a
forrásból:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
A kód végrehajtásának eredménye:
[1, 2, 3, 4]
Példa
Az Object.assign metódus használatakor
ügyelni kell a szintaxisra.
Például, ha nem adunk meg
első paraméterként egy célobjektumot, hanem csak
a másolandó objektumot hagyjuk meg, akkor az fog visszatérni:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
A kód végrehajtásának eredménye:
true
Lásd még
-
a(z)
Object.keysmetódus,
amely egy objektum tulajdonságaiból álló tömböt ad vissza -
a(z)
Object.valuesmetódus,
amely egy objektum értékeiből álló tömböt ad vissza