Сегодня я нашел странный способ добавления 2 числа в JavaScript:Как может быть полезен синтаксис `foo (a) (b)`?
В основном вызов метода выглядит следующим образом: add(5)(6)
и декларацию метода:
function add(x) {
return function(y) { return x + y; };
}
Хорошо, я получил Это. Функция add
не возвращает число, но возвращает анонимную функцию, которая добавляет первое число со вторым. Но в чем смысл (как это может быть полезно)?
Где именно это может быть полезно, кроме как запутать других людей или написать какое-то запутанное вредоносное ПО?
Вы спрашиваете, в чем смысл возврата функций, или вы спрашиваете, в чем смысл иметь функцию «добавить» в карри? Этот конкретный случай может быть не самым универсально полезным, но это не должно быть. – Ryan
Я предполагаю, что они думали, что цепочка аргументов объединяется так, как это, вместо того, чтобы писать имя функции более одного раза, было более прохладно. :) –
@minitech Я спрашиваю, как полезно использовать foo (a) (b). Добавить функцию просто пример.Спасибо, что рассказали название этой техники. –