Шаг 0
Понимание классики
Чтобы проиллюстрировать написание функций высшего порядка с помощью стрелок, давайте рассмотрим классический пример: добавить. В ES5 это выглядело бы так:
function add(x){
return function(y){
return y + x;
};
}
var addTwo = add(2);
addTwo(3); // => 5
add(10)(11); // => 21
Пример использования 1 - C функция ompound
Трансформация (от IBM)
Это простой пример переписывания классической составной функции в HOF.
const add = x => y => y + x;
var addTwo = add(2);
addTwo(3); // => 5
add(10)(11); // => 21
Пример использования 2 - итерационная функция
Короткое замыкание функции итерации, например sort, forEach, filter, немного
const isNumber = n => x => x === n const arr = ['1','2','3'] arr.filter( isNumber("3") )
Почему это полезно?
Это полезно по нескольким причинам:
- Это уменьшает повторяющийся код
- Это позволяет упростить повторное использование кода
- Повышает ясность смысла кода
Вам также может понравиться
- [ES6] Функциональное программирование: шпаргалка:
https://medium.com/@peterchang_82818/es6-function-programming-cheatsheet-update-spread-note-example-tutorial- 26f265b0ddf1
Кредит:
- https://developer.ibm.com/node/2016/01/11/higher-order-functions-in-es6easy-as-a-b-c/