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.
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}};