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.
Se c’è un solo argomento, possiamo omettere le parentesi tonde:
let double = n => n * 2;
Se non ci sono argomenti, le parentesi tonde vanno lasciate vuote:
let sayHi = () => alert("Hello!");
Se ci sono più argomenti, le parentesi tonde vanno lasciate:
let sum = (a, b) => a + b;
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;
};
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.
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.
| HOMEPAGE | LEZIONE SUCCESSIVA |