Funkcje w JavaScript to bloki kodu, które można wywoływać wielokrotnie. Są niezbędne do tworzenia czytelnego, modularnego i łatwego w utrzymaniu kodu. Poniżej przedstawiam trzy podstawowe sposoby definiowania funkcji.
Funkcje zadeklarowane w ten sposób są hoistowane, co oznacza, że można je wywołać przed ich zdefiniowaniem w kodzie. Jest to przydatne, ale wymaga ostrożności, aby nie wprowadzać nieczytelności.
Funkcja jest przypisywana do zmiennej. W tym przypadku funkcja nie jest hoistowana, więc można ją wywołać dopiero po zdefiniowaniu. Jest to przydatne, gdy chcesz kontrolować, kiedy funkcja jest dostępna w kodzie.
To skrócona składnia definiowania funkcji, która jest szczególnie przydatna przy krótkich funkcjach.
Funkcje strzałkowe nie mają własnego kontekstu this,
co jest przydatne przy pracy z obiektami lub zdarzeniami.
Funkcje mogą przyjmować parametry, które są zmiennymi używanymi wewnątrz funkcji. Podczas wywołania funkcji przekazujemy argumenty, które zastępują parametry.
return)
Funkcje mogą zwracać wartości za pomocą słowa kluczowego return.
Jeśli funkcja nie zwraca jawnie wartości, domyślnie zwraca undefined.
Zmienne zadeklarowane wewnątrz funkcji są lokalne i nie są dostępne poza nią. To pozwala unikać konfliktów nazw zmiennych i tworzyć bardziej bezpieczny kod.
Funkcje, które przyjmują inne funkcje jako argumenty lub zwracają funkcje, nazywamy funkcjami wyższego rzędu. Są one podstawą programowania funkcyjnego w JavaScript.
Domknięcia to funkcje, które pamiętają środowisko, w którym zostały utworzone. Są przydatne do tworzenia prywatnych zmiennych i funkcji.