Ho cercato di imparare alcune delle nuove funzionalità di ES6, e mentre la maggior parte di esso ha senso, ho difficoltà ad afferrare la funzione freccia. Non sto chiedendo così tanto perché esiste come sono io a leggerlo.
Precedentemente in JS, quando è stata definita una funzione, la sintassi si legge molto bene.
var foo = function(property) { return property + 'bar' }
dice: definisce una variabile 'foo' che è una funzione che restituisce la proprietà + 'bar'.
In alternativa, function foo(property) {}
si legge approssimativamente come: definisce una funzione denominata foo che ha una proprietà.
Ma quando vedo qualcosa con una funzione freccia:
const foo = (property) => { return property + 'bar' }
Come lo leggo? Definisci un costante 'foo' che equivale a ... una proprietà ... che equivale a ... restituire una proprietà più 'bar'?
Quindi, probabilmente perché non capisco completamente questo concetto, arrivo a una linea come questa e mi sto perdendo:
const actionLogger = ({dispatch, getState}) => (next) => (action) => {
console.log(action); return next (action)
}
In un video didattico Redux, l'autore passa alle funzioni di freccia perché "ha una semantica più chiara in ES6", quindi voglio solo capire la semantica delle funzioni di freccia!