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