Skip to content

Samenstellen objecten

Soms wil je objecten of arrays samenvoegen.

Vroeger

Gegeven de volgende objecten:

const pikachu = { name: 'Pikachu'};
const stats = {hp:40, attack:60, defense:45};

Als beide objecten samengesteld zouden moeten worden, met andere woorden, als de properties van stats een onderdeel zouden moeten uitmaken van pikachu, dan zou dat kunnen door nieuwe properties aan pikachu toe te voegen:

pikachu.hp = stats.hp;
pikachu.attack = stats.attack;
pikachu.defense = stats.defense;
Het nadeel hiirvan is dat je het originele pikachu object veranderd (muteert)

Dit kan ook met de Object.assign() functie:

const pikachuLevel2 = Object.assign(pikachu, stats);

Nu: Spread syntax

Een mooiere manier is met de spread synthax notatie:

const pikachuLevel2 = {...pikachu, ...stats};

Array concatenatie

Spread synthax werkt ook mooi voor het aan elkaar lijmen (concatenaten) van arrays. Gegeven de volgende arrays:

const benchPokemon = ['Bulbasaur', 'Raichu', 'Mr Mime'];
const deckPokemon = ['Gardevoir', 'Lickytung','Loudred'];

in plaats van:

const allPokemon = benchPokemon.concat(deckPokemon);

kan je ze ook aan elkaar lijmen met de spread syntax:

const allPokemon = [...benchPokemon, ...deckPokemon];

Bronnen

JavaScript Pro Tips - Code This, NOT That


Last update: December 9, 2022