Modernus JavaScript naudojant ES6–ES13 (JS pamokos)

Efektyviai naudoti Spread operatorių JavaScript objektuose

Visi pamokos vaizdo įrašai Šiuolaikiškas JavaScript su ES6–ES13 (JS pamokos)

Spread“-operatorius yra universalus įrankis JavaScript, kuris leidžia efektyviai valdyti objektus ir masyvus. Išmoksi, kaip su „Spread“ operatoriumi sujungti objektus ir kokios yra alternatyvos. Pradėkime!

Pagrindiniai įžvalgos

  • „Spread“ operatorius gali būti naudojamas keliems objektams sujungti į naują objektą.
  • Object.assign() yra lanksti metodika, kuri suteikia panašius rezultatus kaip „Spread“ operatorius, tačiau gali leisti kitus naudojimo atvejus.
  • Abiem metodais kopijuojama tik pirmoji objekto lygis; gilesni objektai lieka nurodyti.

Žingsnis po žingsnio vadovas „Spread“ operatoriui su objektais

Pradėkime su pagrindiniu supratimu apie „Spread“ operatorių „JavaScript“, ypač objektais.

1 žingsnis: objekto kūrimas

Norint dirbti su „Spread“ operatoriumi, pirmiausia reikia apibrėžti keletą objektų. Tarkime, kad turi du objektus, obj1 ir obj2.

„Spread“ operatorius JavaScript objektuose efektyviai naudoti

2 žingsnis: „Spread“ operatoriaus taikymas

Dabar nori sujungti abu objektus į naują objektą, kuris vadinamas result. Tam prieš objektus naudojamas „Spread“ operatorius (...).

Čia result turės visas obj1 ir obj2 savybes.

Efektyviai naudoti Spread operatorių JavaScript objektuose

3 žingsnis: rezultatų tikrinimas

Norėdamas patikrinti, ar objektai buvo teisingai sujungti, gali naudoti konsolę.

„Spread“ operatorius JavaScript objektuose efektyviai naudoti

4 žingsnis: savybių pridėjimas

Be to, tu gali pridėti daugiau savybių naujam objektui.

5 žingsnis: savybių tvarka

Rezultate objekto savybių tvarka priklauso nuo to, kokia tvarka nurodai objektus ir savybes kode. Čia savybė f pasirodys po obj1 ir obj2.

6 žingsnis: Object.assign() naudojimas

Alternatyva „Spread“ operatoriui yra Object.assign() metodas. Jis veikia panašiai, tačiau naudoja kitokią sintaksę. Čia sukuri naują tuščią objektą kaip tikslinį objektą ir tuomet pridedi obj1 ir obj2 savybes.

7 žingsnis: išvesties patikrinimas

Panašiai kaip anksčiau gali patikrinti Object.assign() išvestį.

8 žingsnis: kelių objektų derinimas

Taip pat gali sujungti daugiau nei du objektus, tiesiog perduodamas juos kaip papildomus parametrus Object.assign().

9 žingsnis: tuščio objekto praleidimas

Jei praleidi tuščą tikslinį objektą, obj1 bus perrašytas, o obj2 savybės bus perduotos obj1. Atmink, kad tai pakeis originalų obj1.

10 žingsnis: išvada apie gilią kopiją

Svarbu žinoti, kad tiek „Spread“ operatorius, tiek Object.assign() nesukuria gilių kopijų objektams. Jie kopijuoja tik pirmą savybių lygį. Dirbant su sudėtingesnėmis duomenų struktūromis, gali reikėti naudoti kitas metodikas.

Santrauka – „Spread“ operatorius objektams: Išsami vadovėlė

Šiame vadove gavai išsamią įvadą į „Spread“ operatorių ir Object.assign() metodą. Išmokei, kaip sujungti objektus ir pridėti naujas savybes, taip pat abiejų metodų privalumus ir trūkumus.

Dažnai užduodami klausimai

Kaip veikia „Spread“ operatorius su objektais?„Spread“ operatorius kopijuoja objekto savybes į naują objektą.

Ar galiu sujungti kelis objektus su Object.assign()?Taip, gali sujungti bet kiek objektų su Object.assign(), tiesiog perduodamas juos kaip parametrus.

Kas nutiks, jei perduosiu tuščią objektą kaip tikslą Object.assign()?Tuščias objektas bus užpildytas savybėmis iš sekančių objektų, nepažeidžiant originaus tikslo objekto.

Ar sukuriamos gilesnės objektų kopijos?Ne, tiek „Spread“ operatorius, tiek Object.assign() kuria tik paviršutiniškas objektų kopijas.

Ar gali būti įtakota savybių tvarka rezultatuoseobjekte?Taip, savybių tvarka atitinka tvarką, kuria nurodei objektus.