Przejdź do głównej treści
eLearner.app
Moduł 4 · Lekcja 2 z 414/32 w kursie~10 min
Lekcje modułu (2/4)

Funkcje strzałkowe

Funkcje strzałkowe (arrow functions) to bardziej zwięzła składnia do zapisu funkcji. Są one idealne do callbacków i krótkich funkcji.

Podstawowa składnia

JS
// function classica
const somma = function (a, b) {
  return a + b;
};

// arrow equivalente
const somma2 = (a, b) => {
  return a + b;
};

// arrow con return implicito (corpo sintetico, niente graffe)
const somma3 = (a, b) => a + b;

Wszystkie trzy formy są równoważne. Trzecia z nich jest najbardziej charakterystyczna dla współczesnego JavaScriptu.

Kiedy można pominąć nawiasy klamrowe i słowo kluczowe return

Gdy ciało funkcji stanowi tylko jedno wyrażenie:

JS
const quadrato = (n) => n * n;
const isAdult = (eta) => eta >= 18;
const saluto = (nome) => `Ciao, ${nome}!`;

Jeśli natomiast potrzebujesz wykonać więcej instrukcji, niezbędne będą nawiasy klamrowe oraz jawne słowo kluczowe return:

JS
const descrivi = (n) => {
  const parita = n % 2 === 0 ? 'pari' : 'dispari';
  return `${n} è ${parita}`;
};

Jeden parametr: opcjonalne nawiasy okrągłe

JS
const triplo = (n) => n * 3;
const triplo2 = (n) => n * 3; // anche questo va bene

W przypadku braku parametrów lub ich liczby wynoszącej dwie i więcej, nawiasy okrągłe są obowiązkowe:

JS
const ora = () => Date.now();
const min = (a, b) => (a < b ? a : b);

Spróbuj sam

Ćwiczenie#js.m4.l2.e1
Próby: 0Ładowanie...

Przepisz tę klasyczną funkcję jako funkcję strzałkową z niejawnym return: `function square(n) { return n * n; }`. Przypisz ją do stałej `square` i wywołaj z argumentem 5 (oczekiwany wynik: 25).

Ładowanie edytora...
Pokaż wskazówkę

const square = (n) => n * n;

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#js.m4.l2.e2
Próby: 0Ładowanie...

Zdefiniuj funkcję strzałkową `describe(n)`, która zwraca string `<n> è pari`, jeśli n jest parzyste, a w przeciwnym razie `<n> è dispari`. Wywołaj ją z argumentem 7.

Ładowanie edytora...
Pokaż wskazówkę

Użyj klamer i jawnego return, jeśli masz więcej niż jedno wyrażenie.

Rozwiązanie dostępne po 3 próbach