Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 7794|Válasz: 0

[JavaScript] es6 Kiterjesztési operátor Három pont (...) )

[Linket másol]
Közzétéve 2020. 06. 19. 12:31:11 | | |
jelentés

A bővítési operátor (spread) három pont (...) )。 Ez olyan, mint a pihenőparaméter inverse, amely egy tömböt vesszővel elválasztott paramétersorozattá alakít.



Ezt az operátort főként függvényhívásokhoz használják.



A fenti kódban array.push(...) tárgyak) és add(...) számok), amelyek mindkettő hívás funkciókra, és mindkettő kiterjesztő operátorokat használ. Ez az operátor egy tömböt paramétersorozattá alakít.
A kiterjesztési operátorok normál függvényparaméterekkel kombinálhatók, ami nagyon rugalmas.



Alkalmazás módszer alternatív tömbökre

Mivel a kiterjesztési operátor képes kibővíteni a tömböt, nincs szükség az apply metódóra arra, hogy a tömböt a függvényhez argumentává alakítsuk.



Íme egy gyakorlati példa arra, hogyan helyettesíti egy kiterjesztő operátor az alkalmazás metódust, és Math.max módszert alkalmazva a tömb legnagyobb elemének írásának egyszerűsítésére.



A fenti kód azt mondja, hogy mivel a JavaScript nem biztosít függvényt a tömr legnagyobb elemének megtalálásához, csak Math.max függvényt alkalmazhatunk, hogy a tömböt paramétersorozattá alakítsuk, majd megtaláljuk a maximális értéket. A kiterjesztő operátorral közvetlenül használhatod Math.max.
Egy másik példa, ha egy tömböt hozzáadunk egy tömb végéhez a push függvényen keresztül.



A fenti kód ES5 írásmódjában a push metódus paraméterei nem lehetnek tömbök, ezért a push metódust rugalmasan kell alkalmazni az apply metódon keresztül. A kiterjesztő operátorral a tömb közvetlenül átvihető a push módszerre.
Itt egy másik példa.



Az operátorok alkalmazásának bővítése

(1) Tömbök összevonása

A kiterjesztési operátor új módot kínál a számok kombinációjának írására.



(2) dekonstrukciós hozzárendeléssel kombinálva

A kiterjesztési operátorokat dekonstrukciós hozzárendelésekkel kombinálhatjuk tömbök generálásához.



Ha a kiterjesztő operátort használod a tömbek hozzárendeléséhez, azt csak a paraméter utolsó számjegyéhez lehet helyezni, különben hibát jelentenek.



(3) A függvény visszatérési értéke

A JavaScript függvények csak egy értéket tudnak visszaadni, és ha több értéket is vissza kell adni, akkor csak tömböket vagy objektumokat adhatnak vissza. A kiterjesztő operátorok megoldást kínálnak ennek a problémának a megoldására.



A fenti kód egy adatsort vesz fel az adatbázisból, kiterjeszti az operátort, és közvetlenül továbbítja azt a konstruktor Date-nek.

(4) Húr

A kiterjesztési operátorok a sorozatokat valódi tömbökké is alakíthatnak.



A fenti írásnak fontos előnye, vagyis helyesen képes felismerni a 32 bites Unicode karaktereket.



A fenti kód első írásmódja, a JavaScript felismeri a 32 bites Unicode karaktereket 2 karakterként, és nincs probléma a kiterjesztési operátorokkal. Tehát az a függvény, amely helyesen adja vissza a string hosszát, így írható:



Ez a probléma bármely olyan függvény esetében, amely 32 bites Unicode karakterek manipulálását igényli. Ezért a legjobb, ha mindet kiterjesztő operátorokkal írjuk újra.



A fenti kódban, ha nem használod a kiterjesztő operátort, a string reverse művelet helytelen.

(5) Objektumok, amelyek megvalósítják az Iterátor interfészt

Bármely objektum az Iterator interfészben átalakítható valódi tömbbé egy kiterjesztési operátorral.



A fenti kódban a querySelectorAll metódus nodeList objektumot ad vissza. Ez nem egy tömb, hanem egy tömbszerű objektum. Ebben az esetben a kiterjesztési operátor valódi tömbzé alakíthatja, mert a NodeList objektum valósítja meg az Iterator interfészt.
Azoknál a tömbszerű objektumoknál, amelyeknél nincs Iterator interfész, a kiterjesztési operátor nem tudja valódi tömbzé alakítani őket.



A fenti kódban a arrayLike egy tömbszerű objektum, de az Iterator interfész telepítése nélkül a kiterjesztési operátor hibát jelent. Ebben az esetben a Array.from metódusal a arrayLike valódi tömbbe konvertálhatod.

(6) Leképezési és halmazstruktúrák, generátorfüggvények

A kiterjesztő operátor belsőleg hívja az adatszerkezet Iterátor interfészét, így bármely objektum, amelynek Iterátor interfésze van, használhat kiterjesztési operátort, például egy térképstruktúrát.



Amikor a Generátor függvény fut, egy átjáró objektumot ad vissza, így kiterjesztő operátorok is használhatók.



A fenti kódban a Go változó egy Generátor függvény, és végrehajtás után egy átjáró objektumot ad vissza, és ha ezen a traversal objektumon egy kiterjesztési operátort hajtunk végre, a belső átjárásból származó értékeket tömbbe alakítja.
Ha egy objektum számára kiterjesztés operátort használsz, amelyen nincs iterátor interfész, hibát jelentenek.





Előző:Vue+ElementUI implementáció
Következő:Angular projekt megjelenési problémája
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com