Как понять данную запись say('Hello')('World') ?

Добрый день.
Я новичок в JS. Так не пойму запись вида:
say('Hello')('World')
Каким образом при такой записи можно вернуть строку 'Hello World'?
  • Вопрос задан
  • 2559 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
В JS функции являются гражданами первого класса. Это значит, среди всего прочего, что их можно передавать в качестве аргументов в другие функции и возвращать в качестве результата.
function say (str1) {
    return function (str2) {
        return str1 + str2;
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Это называется каррирование. Реализацию показал @k12th.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы