Kolme hyödyllistä pistettä - loput ja leviäminen JavaScript:ssä.
Lukasz Kolko
ECMAScript 2015 toi meille paljon uutta, mikä johti lukuisiin parannuksiin. Tänään tarkastelemme lähemmin kahta ominaisuutta, jotka helpottavat elämää. Tutustu lepoparametreihin ja levityssyntaksiin.
Loput syntaksi mahdollistaa us esittää epämääräisen määrän argumentteja array-muodossa. Tutustu funktioon, joka laskee yhteen kaikki välitetyt argumentit.
Spread-operaattorin avulla voimme laajentaa iteroitavia objekteja yksittäisiin elementteihin. Tämä toiminnallisuus on päinvastainen kuin mitä saavutimme loput parametrit. Sitä voidaan soveltaa kaikkiin iteroitaviin, kuten matriiseihin, objekteihin, joukkoihin, karttoihin jne.
const sum = (x, y, z) => x + y + z;
const numbers = [1, 2, 3];
console.log(summa(...numerot)); // 6
Huomaa, että luodun objektin kopio on uusi objekti, jolla on kaikki alkuperäisen objektin ominaisuudet mutta ei mitään sen prototyyppitietoja.
person.age = 20;
console.log(person.age); // 20 vuotta
console.log(personCopy.age); // 25 vuotta
Huomaa, että levityssyntaksi luo 'matalan' kopion objektista, joten 'lompakko'-ominaisuus kopioidaan vain viittauksena alkuperäiseen aliobjektiin. Syväkloonaukseen voit käyttää JSON stringify/parse -lähestymistapaa tai Lodashin tarjoamaa 'cloneDeep'-menetelmää riippuen objektin monimutkaisuudesta. Joissakin tapauksissa tämäkin menetelmä voi olla hyödyllinen:
let personCopy = { ...person, wallet = {...person.wallet}};