Funkcja strzałkowa (ang. arrow function) to skrócony sposób definiowania funkcji w JavaScript. Rozpoznaje się ją po operatorze =>.
Przykład z pytania:
let modulo = (x, y) => x % y;
Oznacza to: utwórz zmienną modulo, która przechowuje funkcję przyjmującą argumenty x i y, a następnie zwracającą wynik działania x % y.
Ten zapis jest równoważny klasycznej funkcji:
let modulo = function(x, y) {
return x % y;
};
Cechy funkcji strzałkowych
- używają składni
parametry => wynik, - często są krótsze od klasycznych funkcji,
- jeśli ciało funkcji ma jedno wyrażenie, wynik jest zwracany automatycznie,
- często stosuje się je w funkcjach anonimowych, np. przy
map,filter,forEach, - nie mają własnego
this, co ma znaczenie w programowaniu obiektowym i obsłudze zdarzeń.
Przykłady
Funkcja z jednym parametrem:
let kwadrat = x => x * x;
Funkcja z kilkoma instrukcjami musi mieć nawiasy klamrowe i jawne return:
let suma = (a, b) => {
let wynik = a + b;
return wynik;
};
Na egzaminie
Jeśli w kodzie JavaScript widzisz znak =>, najczęściej chodzi o funkcję strzałkową, a nie o prototyp klasy, interfejs ani tablicę.