• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Anonymous or Named function expression? [ankieta]

0 głosów
227 wizyt
pytanie zadane 28 kwietnia 2018 w JavaScript przez ProgramistaStepek Nałogowiec (27,020 p.)
zamknięte 29 kwietnia 2018 przez ProgramistaStepek

Cześć! Tak sobie czytam Kyle'a Simpsona "Scopes & Closures" i pada tam takie zdanie:

The best practise is to always name your function expression 

I tu pojawia się moje pytanie. Czy na prawdę to nie przesada nadawać nazwy nawet dla prostych funkcji anonimowych (z nazwą to już oczywiście nie będą anonimowe) przy jakimś setTimeout(), addEventListener() czy nawet Promise.prototype.then()? Niby niuans, ale mnie to strasznie ciekawi co wy o tym sądzicie? 

Możliwe odpowiedzi:
Zawsze nazywamy funkcje (0 głosów)
Mogą być anonimowe (9 głosów, 100%)
komentarz zamknięcia: Rozsądna odpowiedź; zdecydowana przewaga w ankiecie

1 odpowiedź

+5 głosów
odpowiedź 28 kwietnia 2018 przez Comandeer Guru (607,330 p.)
wybrane 29 kwietnia 2018 przez ProgramistaStepek
 
Najlepsza
Nazwa pomaga w debugowaniu, więc jest to jakiś sensowny argument. Niemniej wydaje mi się, że nadawanie nazwy wszystkim jest przesadą.

Istnieje jeszcze bardziej restrykcyjna wersja tej zasady: nigdy nie używać funkcji anonimowych (oprócz IIFE, rzecz jasna), gdyż np. może zdarzyć się sytuacja, w której trzeba odpiąć dany listener.

Podobne pytania

0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 11 października 2016 w JavaScript przez Agr Użytkownik (980 p.)
0 głosów
2 odpowiedzi 454 wizyt
pytanie zadane 28 września 2015 w JavaScript przez niezalogowany
0 głosów
2 odpowiedzi 560 wizyt

93,607 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,098 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...