Hoppa till innehåll

Archives

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Categories

  • Inga kategorier
Trend RepositoryArticles and guides
Articles

Pilfunktioner i Javascript

On november 20, 2021 by admin

© Mandeep Kaur

Pilfunktioner – även kallade ”feta pilfunktioner” – är ett relativt nytt sätt att skriva kortfattade funktioner i JavaScript. De har införts genom ECMAScript 6-specifikationerna och har sedan dess blivit den mest populära ES6-funktionen. Arrow-funktioner gör det möjligt att använda operatören fat arrow => för att snabbt definiera JavaScript-funktioner, med eller utan parametrar. Vi kan utelämna de hängande parenteserna och nyckelorden function och return när vi skapar en ny JavaScript-funktion för att skriva kortare funktionssyntax. De är inte bara tidsbesparande utan ger också rena och mer lättlästa funktioner.

I den här artikeln tar vi en titt på några verkliga scenarier för att skapa pilfunktioner – med hjälp av ES6- respektive äldre ECMAScript 5-notation, så att vi kan se hur de två syntaxerna förhåller sig till varandra.

Den enklaste pilfunktionssyntaxen är när funktionen inte har några parametrar. I exemplet nedan deklarerar ECMAScript 5-syntaxen ett funktionsuttryck och tilldelar det till variabeln födelsedag. Det ger ut en enkel textsträng till konsolen med texten ”Grattis på födelsedagen!”:

ES5-syntax utan parametrar

I pilfunktions-syntaxen försvinner de krullformade parenteserna och nyckelorden function och return. Nu tar hela funktionen bara en enda rad. De tomma parenteserna visar att funktionen inte har några parametrar och den feta pilen binder funktionskroppen till de (för närvarande obefintliga) parametrarna:

ES6-syntax utan parametrar
  • En parameter
  • Två parametrar
  • Objektslitteratur
  • Array Manipulation
  • När man inte ska använda pilfunktioner
  • Slutsats

En parameter

Låtsas vi utöka det föregående exemplet med en parameter, närmare bestämt namn. Den gamla ES5-syntaxen tar in en parameter och lägger till dess värde till strängen som ska returneras:

ES5-syntax med en parameter

Pilfunktionssyntaxen gör i huvudsak samma sak. Vi måste innesluta namnparametern inom parentes före den feta pilen och utelämna returnyckelordet i funktionsblocket:

ES6-syntax med en parameter

Två parametrar

Vi kan använda pilfunktioner med så många parametrar som vi vill. Här är till exempel samma exempel med två parametrar, ålder och namn. Nu kräver funktionen birthday() två ingångar för att returnera strängen. Låt oss först använda ECMAScript 5:

ES5-syntax med två parametrar

Och här är samma kod med den nya ES6-notationen:

ES6-syntax med två parametrar

Objektslitteratur

Vi kan också använda syntaxen för pilfunktion för att deklarera setter-funktioner som låter användarna ställa in värdet på objektslitteratur. Med funktionen setBirthday() nedan kan användaren ange namn och ålder för den person som fyller år:

Objektlitteratur-sättare med ES5-syntax

Då vi använder oss av pilfunktionsnotationen krävs det bara en rad för att definiera samma sättarfunktion:

Object literal setter with ES6 syntax

Array Manipulation

Vi kan använda pilfunktioner för att manipulera JavaScript-arrayer också. Låt oss till exempel ta en titt på matrisen persons som innehåller tre objektlitteraler, var och en med egenskaperna name och age:

Persons array som innehåller tre objektlitteraturer, var och en med ett namn och en åldersegenskap

JavaScripts inbyggda map()-metod gör det möjligt att anropa samma funktion på varje element i arrayen. Med den traditionella ES5-notationen kan vi returnera namnegenskapen för varje person på följande sätt:

Matrismanipulation med ES5-syntax

Med pilfunktionsnotationen kan vi utföra samma uppgift på en rad:

Arraymanipulation med ES6-syntax

När man inte ska använda pilfunktioner

Och även om pilfunktionerna har många användningsområden, så har de också vissa begränsningar. Det finns några scenarier när vi inte kan eller bör använda pilfunktionssyntaxen.

Det viktigaste är att vi inte kan skapa konstruktörer med pilfunktioner. Om vi använder nyckelordet new tillsammans med den feta pilsyntaxen kommer konsolen att ge ett fel. Detta händer eftersom JavaScript behandlar pilfunktioner på samma sätt som objektmetoder. Därför kan de inte ha egna metoder, vilket skulle vara en viktig egenskap hos JavaScript-objekt. Dessutom kan vi inte använda ES6-syntaxen för att deklarera objektlitteratur och callback-funktioner som innehåller metoder som använder nyckelordet this, eftersom pilfunktioner behandlar detta på ett annat sätt.

Slutsats

Pilfunktioner ger utvecklare en användbar förkortning för att skriva funktionsuttryck i JavaScript. Den feta pilsyntaxen har många användningsområden, så den har snabbt blivit den favorit ES6-funktionen i JavaScript-communityn. Om den nya kompakta notationen används konsekvent kan den spara mycket tid och bandbredd och förbättra kodens läsbarhet.

Tack för att du läste.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Arkiv

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Upphovsrätt Trend Repository 2022 | Tema av ThemeinProgress | Drivs med WordPress