Object.assign-metodi
Object.assign-metodi kopioi lähdeobjektin ominaisuudet ja arvot,
palauttaen uuden objektin. Metodin ensimmäisessä parametrissa
me määritämme kohdeobjektin, johon kopioimme,
ja toisessa - määritämme objektit, jotka on kopioitava.
Syntaksi
Object.assign(minne kopioida, objektit);
Esimerkki
Luodaan uusi objekti lähteestä:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Koodin suorituksen tulos:
{a: 1, b: 2, c: 3}
Esimerkki
Luodaan nyt uusi objekti useista lähteistä listaamalla ne parametrina pilkulla erotettuna:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Koodin suorituksen jälkeen näemme, että kaksi lähdeobjektia yhdistyivät yhdeksi uudeksi objektiksi:
{a: 1, b: 2, c: 3, d: 4}
Esimerkki
Myös Object.assign-metodia
voidaan käyttää uuden taulukon saamiseksi,
sillä taulukko tyypiltään kuuluu myös objekteihin.
Luodaan uusi taulukko kopioimalla alkiot
lähteestä:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Koodin suorituksen tulos:
[1, 2, 3, 4]
Esimerkki
Käytettäessä Object.assign-metodia
täytyy kiinnittää huomiota syntaksiin.
Esimerkiksi, jos et lisää
ensimmäiseen parametriin kohdeobjektia, vaan jätät
vain kopioitavan objektin, niin se palautetaan takaisin:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Koodin suorituksen tulos:
true
Katso myös
-
metodi
Object.keys,
joka palauttaa taulukon objektin ominaisuuksista -
metodi
Object.values,
joka palauttaa taulukon objektin arvoista