Il modello "Funzione di ritorno alla funzione" ha un nome in JavaScript?


14

Uso questo modello abbastanza spesso in JavaScript. Ecco un esempio:

const comments = [
  { text: 'Hello', id: 1 },
  { text: 'World', id: 4 },
];

const byId = id => element => element.id === id;

const comment = comments.find(byId(1));

A volte, questo modello può rendere il nostro codice leggibile e modulare. Come si chiama questo modello?

Risposte:


20

Si chiamano funzioni di ordine superiore.

Una funzione di ordine superiore è una funzione che può assumere un'altra funzione come argomento o che restituisce una funzione come risultato. - Funzioni di ordine superiore in JavaScript di M. David Green


E finisci con una chiusura.
Thomas Junk,

3
JavaScript è una lingua in cui tutte le funzioni sono di prima classe. Ciò significa che puoi passarli in giro come variabili come qualsiasi altro valore. Una chiusura è una funzione che ha accesso all'ambito "ambito lessicale" in cui è stata definita. Funziona in modo simile al modo in cui i metodi di un oggetto hanno accesso alle variabili di stato degli oggetti.
candied_orange,

3
In questo caso particolare sta valutando 2 argomenti fino a 1.
user949300
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.