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

javascriptObject.assign(minne kopioida, objektit);

Esimerkki

Luodaan uusi objekti lähteestä:

javascriptlet obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);

Koodin suorituksen tulos:

javascript{a: 1, b: 2, c: 3}

Esimerkki

Luodaan nyt uusi objekti useista lähteistä listaamalla ne parametrina pilkulla erotettuna:

javascriptlet 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:

javascript{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ä:

javascriptlet arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);

console.log(newArr);

Koodin suorituksen tulos:

javascript[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:

javascriptlet obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);

console.log(newObj === obj);

Koodin suorituksen tulos:

javascripttrue

Katso myös

  • metodi Object.keys,
    joka palauttaa taulukon objektin ominaisuuksista
  • metodi Object.values,
    joka palauttaa taulukon objektin arvoista