Шаг 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/