När du inte ska använda dem och varför

Funktioner i JavaScript är förstklassiga medborgare eller förstklassiga objekt, Det betyder att vi kan göra saker som att skicka dem som en parameter i en funktion eller returnera dem som ett resultat av att utföra en funktion.

Du kan läsa mer om funktioner här:

Jag ska förklara vad en anonym funktion (AF) är med kod:

Så en AF är en funktion som inte sparas i en variabel eller har ett namn som deklareras efter identifieraren ”function”.

När man inte ska använda dem

Det första problemet med AFs är att de inte har något namn, en ganska korkad deklaration, men för utvecklare är namnet på en variabel, klass eller metod den viktigaste dokumentationen vi har om ansvar och beteende för den variabeln, klassen eller metoden. Ett dåligt namn kan få oss att göra en massa misstag som att förvänta oss att en funktion returnerar något när den faktiska koden skriver ut något i konsolen och returnerar void, till exempel om vi hade namngett vår ”funcionResultPrinter” med något som ”functionResultGetter”.

Det första ögonblicket då vi inte behöver använda anonyma funktioner är när vi behöver ett beskrivande namn, och det händer i allmänhet aldrig.

Det andra problemet är att AFs deklareras och sparas i minnet vid körning. Det innebär att varje gång en AF utförs tar en annan plats i minnet och det kan öka den beräkningskraft som behövs för den delen av koden.

Låt oss göra ett annat exempel med kod:

I det exemplet har vi en AF som nästan inte kräver någon beräkningskraft, men vi kan göra ett tungt arbete på en funktion för att få det vi behöver, och det kan förbruka mycket resurser från vår server eller från klientens webbläsare.

Lösningen är att namnge funktionen:

Till slut kan vi göra en benchmark:

Fortsättning

Vi har två fall när vi behöver undvika att använda anonyma funktioner:

  1. När funktionen behöver ett beskrivande namn.
  2. När vi behöver använder en funktion som behöver mycket beräkningskraft.

Lämna ett svar

Din e-postadress kommer inte publiceras.