Le funzioni in JavaScript possono essere definite per mezzo di:
- espressioni con nome opzionale (ma assegnabile se le voglio usare più volte). Non sono hoisted …
- dichiarazioni con
function
e con nome, il nome di un reference (oggetto della dichiarazione, appunto) - arrow function, senza nome, senza function, senza
this
- IIFE (cioè dichiarate ed immediatamente eseguite, se ne rimanda la discussione)
Esempio di epressione (escludendo l’assegnazione):
const pluto = function (x) { //... };
Esempio di dichiarazione:
function minnie(x) { //... }
Tre esempi sintatticamente equivalenti di arrow function
const identica = (x) => { return x; } const identico = z => { z; } const identici = y => y;
Si può osservare che in questi esempi, la parola return non è obbligatoria, nel caso in cui essa sia l’unica e la sola istruzione. Stessa regola per le parentesi graffe.