Функции высшего порядка
function Sum(a) {
return function(b) {
return a + b;
}
}
Sum(1)(2) // 3
Sum - функция высшего порядка. Так называются функции одним из аргументов или результатом вызова которых являются другие функции.
Возможность передавать функции другим функциям в качестве параметров и использовать функции в качестве значений, возвращаемых другими функциями, является основой функционального программирования.