Kiedy ich nie używać i dlaczego

Funkcje w JavaScript są obywatelami pierwszej klasy lub obiektami pierwszej klasy, to znaczy, że możemy robić takie rzeczy jak przekazywać je jako parametr w funkcji lub zwracać je jako wynik wykonania funkcji.

Możesz przeczytać więcej o funkcjach tutaj:

Wyjaśnię czym jest funkcja anonimowa (AF) z kodem:

Więc AF jest funkcją, która nie jest zapisana w zmiennej lub ma nazwę zadeklarowaną po identyfikatorze „function”.

Kiedy ich nie używać

Pierwszym problemem z AF jest to, że nie ma nazwy, dość głupia deklaracja, ale dla programistów, nazwa zmiennej, klasy lub metody jest główną dokumentacją, którą mamy na temat odpowiedzialności i zachowania tej zmiennej, klasy lub metody. Zła nazwa może pozwolić nam na popełnienie wielu błędów, takich jak oczekiwanie, że funkcja zwróci coś, podczas gdy jej rzeczywisty kod wypisuje coś w konsoli i zwraca void, na przykład gdybyśmy nazwali naszą „funcionResultPrinter” czymś w rodzaju „functionResultGetter”.

Więc pierwszym momentem, w którym nie musimy używać funkcji anonimowych jest sytuacja, w której potrzebujemy opisowej nazwy, a to generalnie zdarza się zawsze.

Drugim problemem jest to, że AF są deklarowane i zapisywane w pamięci w runtime. Oznacza to, że za każdym razem, gdy AF będzie wykonywany zajmie inne miejsce w pamięci, a to może zwiększyć moc obliczeniową potrzebną dla tej części kodu.

Zróbmy inny przykład z kodem:

W tym przykładzie mamy AF z prawie żadnym wymaganym wysiłkiem obliczeniowym, ale możemy wykonać ciężką pracę na funkcji, aby uzyskać to, czego potrzebujemy, a to może pochłonąć wiele zasobów z naszego serwera lub z przeglądarki klienta.

Rozwiązaniem jest nazwanie funkcji:

Wreszcie zróbmy jakiś benchmark:

Wznowienie

Mamy dwa przypadki, kiedy musimy unikać stosowania funkcji anonimowych:

  1. Gdy funkcja potrzebuje opisowej nazwy.
  2. Gdy musimy użyć funkcji, która potrzebuje dużo mocy obliczeniowej.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.