Kdy je nepoužívat a proč

Funkce v JavaScriptu jsou občany první třídy nebo objekty první třídy, to znamená, že s nimi můžeme dělat takové věci jako předávat je jako parametr ve funkci nebo je vracet jako výsledek vykonání funkce.

Více o funkcích si můžete přečíst zde:

Vysvětlím, co je to anonymní funkce (AF) pomocí kódu:

Takže AF je funkce, která není uložena v proměnné nebo nemá jméno deklarované za identifikátorem „funkce“.

Kdy je nepoužívat

První problém s AF je, že nemá žádné jméno, což je dost hloupá deklarace, ale pro vývojáře je jméno proměnné, třídy nebo metody hlavní dokumentací, kterou máme o odpovědnosti a chování dané proměnné, třídy nebo metody. Špatný název nám může umožnit udělat spoustu chyb, například očekávat, že funkce něco vrátí, zatímco její skutečný kód něco vypíše do konzole a vrátí void, například kdybychom naši „funcionResultPrinter“ pojmenovali něčím jako „functionResultGetter“.

Takže první moment, kdy nemusíme používat anonymní funkce, je, když potřebujeme popisný název, a to se obecně stává vždycky.

Druhý problém je, že AF se deklarují a ukládají do paměti za běhu. To znamená, že pokaždé, když se AF provede, zabere další místo v paměti, a to může aumentovat výpočetní výkon potřebný pro tuto část kódu.

Udělejme si další příklad s kódem:

V tomto příkladu máme AF, která nevyžaduje téměř žádné výpočetní úsilí, ale abychom získali to, co potřebujeme, můžeme provést těžkou práci s funkcí, a to může spotřebovat mnoho prostředků našeho serveru nebo klientského prohlížeče.

Řešením je pojmenovat funkci:

Nakonec provedeme nějaký benchmark:

Pokračování

Máme dva případy, kdy se potřebujeme vyhnout použití anonymních funkcí:

  1. Když funkce potřebuje popisný název.
  2. Když potřebujeme použít funkci, která potřebuje velký výpočetní výkon.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.