Wanneer ze niet te gebruiken en waarom

Functies in JavaScript zijn eersteklas burgers of eersteklas objecten, Dat betekent dat we ze bijvoorbeeld kunnen doorgeven als parameter in een functie of ze kunnen retourneren als resultaat van het uitvoeren van een functie.

Je kunt hier meer lezen over functies:

Ik zal uitleggen wat een anonieme functie (AF) is met code:

Dus een AF is een functie die niet is opgeslagen in een variabele of een naam heeft die wordt gedeclareerd na de “functie”-identifier.

Wanneer niet te gebruiken

Het eerste probleem met AFs is dat ze geen naam hebben, een vrij stomme declaratie, maar voor ontwikkelaars is de naam van een variabele, klasse of methode de belangrijkste documentatie die we hebben over de verantwoordelijkheden en gedragingen van die variabele, klasse of methode. Een slechte naam kan ons veel fouten laten maken, zoals verwachten dat een functie iets teruggeeft, terwijl de werkelijke code iets in de console afdrukt en leeg teruggeeft, bijvoorbeeld als we onze “funcionResultPrinter” hadden genoemd met iets als “functionResultGetter”.

Dus het eerste moment waarop we geen anonieme functies hoeven te gebruiken is wanneer we een beschrijvende naam nodig hebben, en dat gebeurt in het algemeen altijd.

Het tweede probleem is dat AFs worden gedeclareerd en in runtime in het geheugen worden opgeslagen. Dat betekent dat elke keer dat een AF wordt uitgevoerd, er een andere plaats in het geheugen wordt ingenomen en dat kan de rekenkracht die nodig is voor dat deel van de code vergroten.

Laten we een ander voorbeeld met code doen:

In dat voorbeeld hebben we een AF die bijna geen rekenkracht vergt, maar we kunnen zwaar werk doen met een functie om te krijgen wat we nodig hebben, en dat kan veel bronnen van onze server of van de client-browser vergen.

De oplossing is om de functie een naam te geven:

Laten we nu eindelijk eens een benchmark doen:

Hervatten

We hebben twee gevallen waarin we het gebruik van anonieme functies moeten vermijden:

  1. Wanneer de functie een beschrijvende naam nodig heeft.
  2. Wanneer we een functie moeten gebruiken die veel rekenkracht nodig heeft.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.