Kursy i Poradniki IT - Adrian Kowalski
Kurs JavaScript dla Początkujących
O lekcji

Funkcje w JavaScript są tzw. obiektami pierwszej klasy, co oznacza, że można je przekazywać jako argumenty do innych funkcji, przechowywać w zmiennych oraz zwracać jako wynik.

Funkcje jako argumenty

Funkcje można przekazywać jako argumenty do innych funkcji, co umożliwia np. stosowanie funkcji zwrotnych (callback).

Przykład:

function wykonaj(funkcja, liczba) {
  console.log("Przed wywołaniem funkcji");
  funkcja(liczba);
  console.log("Po wywołaniu funkcji");
}

function wypiszKwadrat(liczba) {
  console.log(`Kwadrat liczby ${liczba} to ${liczba * liczba}`);
}

wykonaj(wypiszKwadrat, 5);
// Wynik:
// Przed wywołaniem funkcji
// Kwadrat liczby 5 to 25
// Po wywołaniu funkcji

Zwracanie funkcji

Funkcja może zwracać inną funkcję jako wynik. Jest to potężna technika wykorzystywana np. w programowaniu funkcyjnym.

Przykład:

function stworzMnoznik(mnoznik) {
  return (liczba) => liczba * mnoznik;
}

const podwoj = stworzMnoznik(2); // Tworzy funkcję mnożącą przez 2
const potroj = stworzMnoznik(3); // Tworzy funkcję mnożącą przez 3

console.log(podwoj(5)); // Wynik: 10
console.log(potroj(5)); // Wynik: 15