Hva er pilfunksjoner i JavaScript

Hva er pilfunksjoner i JavaScript
En av de beste funksjonene som moderne JavaScript har gitt oss er pilfunksjon betegnet gjennom “=>”. Også kjent som "Fett pil”Kommer med forskjellige fordeler i programmering. Det kommer med "dette" binding og bruk av disse får koden til å se mer organisert og kortere.

Disse funksjonene er grunnen til at pilfunksjoner er strengt foretrekkes fremfor andre typer funksjonserklæring. Men med disse fordelene kommer også noen ulemper også.

I denne artikkelen lærer vi hvordan du skriver funksjoner ved hjelp av pilfunksjoner i JavaScript, og hvordan du konverterer dine enkle funksjoner til Arrow -funksjoner. Men før vi hopper inn i det, la oss forstå noen grunnleggende konsepter om pilfunksjoner i JavaScript.

Pilfunksjoner i JavaScript

ES6 ga oss en av de viktigste og nyttige funksjonene som er en pilfunksjon som hjelper i funksjonserklæring på en enklere måte og reduserer kodelinjene. Syntaksen til pilfunksjonen er nevnt nedenfor:

Syntaks:

La funksjonName = (P1, P2, ... PN) =>
uttalelse (er)

Her,

  • funksjonsnavn: Navnet på funksjonen
  • P1, P2, .. . pn: Dette er parametrene til funksjonene
  • uttalelse (er): Linjene med JavaScript -kode inne i funksjonen til funksjonen.

Ved å bruke disse kan vi konvertere vår komplekse kode til en mer presis og kompakt versjon. Følgende er noen av funksjonene den gir:

Implisitt retur

Gjennom dette blir bruken av noen form for parentes, funksjoner eller returnøkkelordene valgfritt, noe som tillater implisitt avkastning. Her er et eksempel:

// pilfunksjon
eksempel.onClick = (x, y, z) => dette.gjør noe()
// tilsvarer enkel funksjon
eksempel.onClick = funksjon (x, y, z)
Returner dette.gjør noe();
.bind (dette);

Gjennom bruk av pilfunksjoner er det ganske enkelt å bare tillate et enkelt uttrykk og returnere det implisitt.

“Dette” binding : Det binder nøkkelordet automatisk "dette" til koden omgitt av pilfunksjoner. For eksempel:

var x = dette;
eksempel.onClick = funksjon ()
x.gjør noe();
;

til

eksempel.onClick = () => dette.gjør noe()

Dessuten gir den en kortere, enklere og mer kompakt versjon av koden din.

Hvordan bruke pilfunksjoner i JavaScript

I JavaScript kan vi bruke pilfunksjoner med enkelt, flere eller til og med ingen parametere. De er nyttige for en linjehandling, krymper flere linjekoder i færre linjer og sparer dermed plass. La oss forstå dette med eksempel:

JavaScript pilfunksjon uten parametere

Følgende syntaks brukes når pilfunksjonen fungerer med null parametere.

Syntaks:

() => uttalelse (er)

Her er uttalelsen liket av funksjonen som inneholder kodelinjer.

Eksempel:

La Print = () => Konsoll.logg ("hei");
skrive ut();

I eksemplet ovenfor, skriver vi ganske enkelt ut "hei" ved hjelp av pilfunksjonen. Som du ser har ikke pilfunksjonene noe navn, så de er også kjent som anonyme funksjoner. Til syvende og sist kan vi ikke ringe eller gjenbruke dem igjen når det trengs, da de ikke har noe navn, men hvis vi må ringe eller gjenbruke pilfunksjonene, må vi tilordne dem til en variabel og deretter ringe dem ved å bruke det variable navnet.

Her har vi tildelt den til variabelen "Print" og kalt variabelen i den andre linjen.

Produksjon:

JavaScript pilfunksjon med enkeltparameter

I tilfelle av en enkelt parameter brukes etter syntaks:

Syntaks:

(p) => uttalelse (er)

Eller du kan fjerne parentesene og omskrive det som:

p => uttalelse (er)

Her er uttalelsen liket av funksjonen som inneholder kodelinjer og p er parameteren bestått.

Eksempel:
I dette eksemplet blir pilfunksjonen brukt som et argument for MAP () -metoden som konverterer en strengmatrise til en matrise som inneholder strengens lengde:

Let Days = ['Mandag', 'tirsdag', 'onsdag'];
La lengder = dager.Kart (dager => dager.lengde);
konsoll.logg (lengder);


Produksjon:

JavaScript pilfunksjon med flere parametere

Følgende syntaks brukes når du passerer to eller flere parametere:

Syntaks:

(P1, P2, ..., PN) => uttalelse;

Her er uttalelsen liket av funksjonen som inneholder kodelinjer og p er parameteren bestått. I dette tilsvarer "=> uttalelsen":

=> returerklæring;

I eksemplet nedenfor brukes en sort () -metode uten å bruke pilfunksjon, for å sortere tall i synkende rekkefølge:

La num = [3,1,5];
Num.Sorter (funksjon (a, b)
Retur B - A;
);
konsoll.logg (num);

Dette kan transformeres til en pilfunksjon

La num = [3,1,5];
Num.sorter ((a, b) => b - a);
konsoll.logg (num);

I eksemplet ovenfor har funksjonen et enkelt uttrykk “B-A”, så det returnerer ganske enkelt resultatet av uttrykket. Men i tilfelle av blokksyntaks, må du nevne returnøkkelordet.

Produksjon:

På denne måten kan vi transformere enhver funksjon til en pilfunksjon. Men det er to punkter som må huskes mens du jobber med Arrow -funksjoner:

  • Arrow -funksjonen skal ikke brukes til å lage metoder i objekter
  • Arrow -funksjoner kan ikke brukes som konstruktør.

Konklusjon

Arrow -funksjoner er den enkleste måten å erklære noen funksjoner, og det reduserer kodelinjene, uten å påvirke kodenes funksjonalitet. I denne artikkelen lærte vi at pilfunksjoner er ekstremt nyttige, hvordan de konverterer en kompleks syntaks og lang kodeinje til mer kompakt og enklere kode. Dessuten er det ikke nødvendig å navngi en pilfunksjon med mindre du skal ringe eller gjenbruke funksjonen.

Til å begynne med kan pilfunksjoner virke vanskelige, men med tiden når du forstår konseptet, blir de enklere og praktisk å implementere. Konvertere koden din til færre linjer med enklere logikk.