Pilen fungerer i JavaScript
Hvad er pilefunktionen?
Pilefunktion {()=>} er kortfattet måde at skrive JavaScript-funktioner på på kortere måde. Pile funktioner blev introduceret i ES6-versionen. De gør vores kode mere struktureret og læsbar.
Pile funktioner er anonyme funktioner, dvs. funktioner uden navn, men de tildeles ofte til enhver variabel. De kaldes også Lambda funktioner .
Syntaks:
const gfg = () =>{ console.log( 'Hej nørd!' ); } Nedenstående eksempler viser hvordan pilefunktionerne fungerer i JavaScript.
Pilefunktion uden parametre
Javascript const gfg = () =>{ console.log( 'Hej fra GeekforGeeks!' ); } gfg(); Produktion
Hi from GeekforGeeks!
Pilefunktion med parametre
Javascript const gfg = ( x, y, z ) =>{ console.log( x + y + z ) } gfg( 10, 20, 30 ); Produktion
60
Pilefunktion med standardparametre
Javascript const gfg = ( x, y, z = 30 ) =>{ console.log( x + ' ' + y + ' ' + z); } gfg( 10, 20 ); Produktion
10 20 30
Pilefunktioner kan være asynkrone ved at sætte udtrykket foran med nøgleordet async.
async param =>udtryk async (param1, param2, ...paramN) => { statements } Fordele ved pilefunktioner
- Pilefunktioner reducerer kodens størrelse.
- Retursætningen og funktionsparenteserne er valgfrie for enkeltlinjefunktioner.
- Det øger kodens læsbarhed.
- Pilefunktioner giver en leksikalsk denne binding. Det betyder, at de arver værdien af dette fra det vedlagte omfang. Denne funktion kan være fordelagtig, når man har at gøre med begivenhedslyttere eller tilbagekaldsfunktioner, hvor værdien af dette kan være usikker.
Begrænsninger af pilefunktioner
- Pilefunktioner har ikke prototypeegenskaben.
- Pilefunktioner kan ikke bruges sammen med det nye nøgleord.
- Pilefunktioner kan ikke bruges som konstruktører.
- Disse funktioner er anonyme, og det er svært at fejlfinde koden.
- Pilefunktioner kan ikke bruges som generatorfunktioner, der bruger nøgleordet yield til at returnere flere værdier over tid.
Understøttede browsere
- Chrome 45 og nyere
- Kant 12 og derover
- Firefox 22 og nyere
- Opera 32 og nyere
- Safari 10 og nyere