logo

Pilfunktioner i JavaScript

Vad är pilfunktionen?

Pilfunktion {()=>} är ett kortfattat sätt att skriva JavaScript-funktioner på kortare sätt. Pilfunktioner introducerades i ES6-versionen. De gör vår kod mer strukturerad och läsbar.

Pilfunktioner är anonyma funktioner d.v.s. funktioner utan namn men de är ofta tilldelade till valfri variabel. De kallas också Lambda funktioner .

numrerade alfabetet

Syntax:



const gfg = () =>{ console.log( 'Hej nörd!' ); }>

Exemplen nedan visar hur pilfunktionerna fungerar i JavaScript.

Pilfunktion utan parametrar

Javascript
const gfg = () =>{ console.log( 'Hej från GeekforGeeks!' ); } gfg();>

Produktion
Hi from GeekforGeeks!>

Pilfunktion med parametrar

Javascript
const gfg = ( x, y, z ) =>{ console.log( x + y + z ) } gfg( 10, 20, 30 );>

Produktion
60>

Pilfunktion med standardparametrar

Javascript
const gfg = ( x, y, z = 30 ) =>{ console.log( x + ' ' + y + ' ' + z); } gfg( 10, 20 );>

Produktion
10 20 30>

Pilfunktioner kan vara asynkrona genom att prefixet uttrycket läggs till nyckelordet async.

async param =>uttryck async (param1, param2, ...paramN) => { satser }>

Fördelar med pilfunktioner

  • Pilfunktioner minskar storleken på koden.
  • Return-satsen och funktionsparenteser är valfria för enradsfunktioner.
  • Det ökar kodens läsbarhet.
  • Pilfunktioner ger en lexikal denna bindning. Det betyder att de ärver värdet av detta från den bifogade omfattningen. Denna funktion kan vara fördelaktig när man har att göra med händelseavlyssnare eller återuppringningsfunktioner där värdet av detta kan vara osäkert.

Begränsningar för pilfunktioner

  • Pilfunktioner har inte prototypegenskapen.
  • Pilfunktioner kan inte användas med det nya nyckelordet.
  • Pilfunktioner kan inte användas som konstruktörer.
  • Dessa funktioner är anonyma och det är svårt att felsöka koden.
  • Pilfunktioner kan inte användas som generatorfunktioner som använder nyckelordet yield för att returnera flera värden över tid.

Webbläsare som stöds

  • Chrome 45 och uppåt
  • Kant 12 och uppåt
  • Firefox 22 och senare
  • Opera 32 och uppåt
  • Safari 10 och uppåt