Tre nyttige prikker - resten og spredningen i JavaScript
Lukasz Kolko
ECMAScript 2015 brakte oss mange nyheter, noe som resulterte i et stort antall forbedringer. I dag skal vi se nærmere på to funksjoner som gjør livet enklere. Møt restparameterne og spread-syntaksen.
Rest-syntaksen gjør at vi kan representere et ubestemt antall argumenter som en matrise. Ta en titt på en funksjon som summerer alle argumentene som er sendt inn.
Spread-operatoren lar oss utvide iterable objekter til individuelle elementer. Denne funksjonaliteten er motsatt av det vi oppnådde med rest-parametrene. Den kan brukes på alle iterable objekter, for eksempel matriser, objekter, sett, kart osv.
const sum = (x, y, z) => x + y + z;
const numbers = [1, 2, 3];
console.log(sum(...tall)); // 6
Legg merke til at spread-syntaksen skaper en "grunn" kopi av objektet, slik at "wallet"-egenskapen bare kopieres som en referanse til det opprinnelige underobjektet. For dyp kloning kan du bruke JSON stringify/parse-tilnærmingen eller "cloneDeep"-metoden som tilbys av Lodash, avhengig av objektets kompleksitet. I noen tilfeller kan denne metoden også være nyttig:
la personCopy = { ...person, lommebok = { ...person.lommebok}};