Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 7794|Odgovoriti: 0

[JavaScript] es6 Operator razširitve Tri pike (...) )

[Kopiraj povezavo]
Objavljeno na 19. 06. 2020 12:31:11 | | |
pomen

Operator razširitve (razširitev) so tri pike (...) )。 To je kot obrat parametra mirovanja, ki spremeni polje v zaporedje parametrov, ločeno od vejic.



Ta operator se večinoma uporablja za klice funkcij.



V zgornji kodi, array.push(...) predmete) in dodajanje(...) števila), ki sta oba klica funkcij in oba uporabljata operatorje razširitve. Ta operator pretvori polje v zaporedje parametrov.
Operatorje razširitve se lahko uporabljajo v kombinaciji z normalnimi funkcijskimi parametri, kar je zelo prilagodljivo.



Metoda uporabe za alternativna polja

Ker lahko operator razširitve razširi polje, ni potrebe po uporabi metode apply, da bi polje spremenili v argument funkciji.



Tukaj je praktičen primer razširitvenega operatorja, ki nadomešča metodo 'apply' in Math.max metodo uporabi za poenostavitev zapisovanja največjega elementa polja.



Zgornja koda pravi, da ker JavaScript ne ponuja funkcije za iskanje največjega elementa polja, lahko Math.max funkcijo uporabiš le, da polje pretvoriš v zaporedje parametrov in nato najdeš največjo vrednost. Z operaterjem razširitve lahko Math.max uporabljate neposredno.
Drug primer je dodajanje polja na rep drugega polja preko funkcije potiska.



Pri metodi pisanja ES5 zgornje kode parametri metode potiskanja ne morejo biti polja, zato moramo potisno metodo uporabljati fleksibilno preko metode aplikacije. Z operatorjem razširitve se polje lahko neposredno prenese v metodo potiska.
Tukaj je še en primer.



Razširite uporabo operatorjev

(1) Združitev polj

Operator razširitve omogoča nov način zapisovanja kombinacije številk.



(2) združeno z dekonstruirano dodelitvijo

Operatorje razširitve je mogoče kombinirati z dekonstruiranimi dodelitvami za generiranje polj.



Če uporabite operator razširitve za dodeljevanje polj, ga lahko postavite le na zadnjo števko parametra, sicer bo prijavljena napaka.



(3) Povratna vrednost funkcije

JavaScript funkcije lahko vrnejo le eno vrednost, in če je treba vrniti več vrednosti, le polja ali objekte. Operatorji razširitve nudijo rešitev za ta problem.



Zgornja koda vzame vrstico podatkov iz baze, razširi operator in ga neposredno posreduje konstruktorju Date.

(4) Struna

Operatorji razširitve lahko prav tako spremenijo nize v realna polja.



Zgornje pisanje ima pomembno prednost, in sicer, da lahko pravilno prepozna 32-bitne Unicode znake.



Prvi način pisanja zgornje kode je, da JavaScript prepozna 32-bitne Unicode znake kot 2 znaka, in ni težav z operatorji razširitev. Funkcijo, ki pravilno vrne dolžino niza, lahko zapišemo takole:



To je problem za vsako funkcijo, ki vključuje manipulacijo 32-bitnih Unicode znakov. Zato je najbolje, da jih vse prepišete z operatorji razširitve.



V zgornji kodi, če ne uporabljate operatorja razširitve, je operacija obratnega niza napačna.

(5) Objekti, ki implementirajo vmesnik Iteratorja

Vsak objekt v vmesniku Iteratorja je mogoče pretvoriti v pravo polje z operatorjem razširitve.



V zgornji kodi metoda querySelectorAll vrne objekt nodeList. Ni matrika, temveč objekt, podoben matriki. V tem primeru lahko operator razširitve spremeni v pravo polje, ker objekt NodeList implementira vmesnik Iterator.
Za tiste objekte, podobne polju, ki nimajo nameščenega vmesnika Iteratorja, operater razširitve ne more spremeniti teh objektov v pravo polje.



V zgornji kodi je arrayLike objekt, podoben polju, vendar brez uporabe vmesnika Iterator operator razširitve poroča o napaki. V tem primeru lahko uporabite metodo Array.from za pretvorbo arrayLike v pravo matriko.

(6) Preslikave in množične strukture, funkcije generatorja

Operator razširitve interno kliče vmesnik Iterator podatkovne strukture, tako da lahko vsak objekt z vmesnikom Iterator uporablja operator razširitve, kot je struktura Map.



Ko se funkcija Generator izvaja, vrne objekt za prečkanje, zato se lahko uporabijo tudi operatorji razširitve.



V zgornji kodi je spremenljivka go funkcija generatorja, in po izvedbi vrne objekt za premikanje, pri čemer izvedba operatorja razširitve na tem objektu pretvori vrednosti, pridobljene z notranjim prehodom, v polje.
Če uporabite operator razširitve za objekt brez vmesnika iteratorja, bo napaka prijavljena.





Prejšnji:Implementacija Vue+ElementUI
Naslednji:Težava z izdajo projekta Angular
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com