formazione-javascript

Arrow function

Esiste un’altra sintassi molto semplice e concisa per creare funzioni e che spesso è migliore delle Function Expressions.

E’ chiamata “arrow functions”, perché si presenta in questo modo:

let func = (arg1, arg2, ...argN) => espressione

…oppure, con più di una riga di codice:

let func = (arg1, arg2, ...argN) => {
  istruzioni
}

In effetti, è solo un’altra forma di sintassi per definire le funzioni, che è più breve e non ha il proprio this.

Arrow function con un solo argomento

Se c’è un solo argomento, possiamo omettere le parentesi tonde:

let double = n => n * 2;

Arrow function senza argomenti

Se non ci sono argomenti, le parentesi tonde vanno lasciate vuote:

let sayHi = () => alert("Hello!");

Arrow function con più argomenti

Se ci sono più argomenti, le parentesi tonde vanno lasciate:

let sum = (a, b) => a + b;

Arrow functions su più linee

Le arrow functions possono contenere più di una riga di codice. In questo caso, le parentesi graffe {} sono necessarie:

let sum = (a, b) => {
  let result = a + b;
  return result;
};

Arrow functions come callback

Le arrow functions sono particolarmente utili quando si passano funzioni come callback. Ad esempio:

let arr = [5, 8, 3];

let sorted = arr.sort((a, b) => a - b);

alert( sorted ); // 3, 5, 8

In questo esempio, arr.sort prende una funzione di confronto come argomento. Questa funzione di confronto è una arrow function che confronta due numeri e restituisce a - b.

Conclusioni

Le arrow functions sono una forma più breve e concisa di definire le funzioni in JavaScript. Sono particolarmente utili quando si passano funzioni come callback o quando si desidera scrivere codice più leggibile e conciso.

By Maurizio Tolomeo

HOMEPAGE LEZIONE SUCCESSIVA