Funkcja strzałkowa w JavaScript

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

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ę.