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í:
- Když funkce potřebuje popisný název.
- Když potřebujeme použít funkci, která potřebuje velký výpočetní výkon.
.