Vai al contenuto
eLearner.app
Modulo 4 · Lezione 2 di 414/32 nel corso~10 min
Lezioni del modulo (2/4)

Arrow function

Le arrow function sono una sintassi più compatta per scrivere funzioni. Ideali per callback e funzioni brevi.

Sintassi base

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;

Le tre forme sono equivalenti. La terza è la più "JavaScript-y".

Quando puoi omettere graffe e return

Se il corpo è una sola espressione:

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

Se invece servono più istruzioni, servono le graffe e un return esplicito:

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

Un solo parametro: parentesi opzionali

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

Con zero o due+ parametri, le parentesi sono obbligatorie:

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

Prova tu

Esercizio#js.m4.l2.e1
Tentativi: 0Caricamento…

Riscrivi questa function come arrow function con return implicito: `function square(n) { return n * n; }`. Assegnala alla const `square` e chiamala con 5 (atteso 25).

Caricamento editor…
Mostra suggerimento

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

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#js.m4.l2.e2
Tentativi: 0Caricamento…

Definisci una arrow function `describe(n)` che ritorni la stringa `<n> è pari` se n è pari, altrimenti `<n> è dispari`. Chiamala con 7 come ultima espressione.

Caricamento editor…
Mostra suggerimento

Usa il corpo con graffe quando hai più di un'espressione.

Soluzione disponibile dopo 3 tentativi