Wann man sie nicht verwenden sollte und warum

Funktionen in JavaScript sind Bürger erster Klasse oder Objekte erster Klasse, Das bedeutet, dass wir Dinge tun können, wie sie als Parameter in einer Funktion zu übergeben oder sie als Ergebnis der Ausführung einer Funktion zurückzugeben.

Hier können Sie mehr über Funktionen lesen:

Ich erkläre Ihnen anhand von Code, was eine anonyme Funktion (AF) ist:

Eine AF ist also eine Funktion, die nicht in einer Variablen gespeichert ist oder einen Namen hat, der nach dem Bezeichner „Funktion“ deklariert ist.

Wann sollte man sie nicht verwenden

Das erste Problem mit AFs ist, dass sie keinen Namen haben, eine ziemlich dumme Erklärung, aber für Entwickler ist der Name einer Variable, Klasse oder Methode die wichtigste Dokumentation, die wir über die Verantwortlichkeiten und das Verhalten dieser Variable, Klasse oder Methode haben. Ein schlechter Name kann uns eine Menge Fehler machen lassen, wie z.B. zu erwarten, dass eine Funktion etwas zurückgibt, wenn ihr tatsächlicher Code etwas in der Konsole ausgibt und void zurückgibt, z.B. wenn wir unseren „funcionResultPrinter“ mit etwas wie „functionResultGetter“ benannt hätten.

Der erste Moment, in dem wir anonyme Funktionen nicht verwenden müssen, ist also, wenn wir einen beschreibenden Namen brauchen, und das passiert im Allgemeinen immer.

Das zweite Problem ist, dass AFs zur Laufzeit deklariert und im Speicher gespeichert werden. Das bedeutet, dass jedes Mal, wenn eine AF ausgeführt wird, ein anderer Platz im Speicher eingenommen wird, und das kann die Rechenleistung, die für diesen Teil des Codes benötigt wird, erhöhen.

Lassen Sie uns ein weiteres Beispiel mit Code machen:

In diesem Beispiel haben wir eine AF, für die fast kein Rechenaufwand erforderlich ist, aber wir können schwere Arbeit an einer Funktion leisten, um das zu bekommen, was wir brauchen, und das kann eine Menge Ressourcen von unserem Server oder vom Client-Browser verbrauchen.

Die Lösung ist, die Funktion zu benennen:

Lassen Sie uns abschließend einen Benchmark durchführen:

Weiter

Es gibt zwei Fälle, in denen wir die Verwendung von anonymen Funktionen vermeiden müssen:

  1. Wenn die Funktion einen beschreibenden Namen benötigt.
  2. Wenn wir eine Funktion verwenden müssen, die viel Rechenleistung benötigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.