fruity4pie
@fruity4pie
A

Функции высшего порядка?

var createScream = function(logger) {
return function(message) {
logger(message.toUpperCase() + "!!!")
}
}
const scream = createScream(message => console.log(message))
scream('functions can be returned from other functions')

Результат будет тот же, если написать:
var createScream = function(logger) {
return function(message) {
logger(message.toUpperCase() + "!!!")
}
}
const scream = createScream(console.log)
scream('functions can be returned from other functions')

Зачем в первом случае писать:
const scream = createScream(message => console.log(message))

Если можно:
const scream = createScream(console.log)
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Незачем, так как вы, в первом случае, вызываете сначала обертку и передаете ей аргумент. Обертка передает аргумент в console.log.
Во втором случае вы передаете аргумент сразу в console.log.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Разница в одном дополнительном вызове функции. Это же демонстрационный пример, где показывается передача ранее объявленной функции и анонимной функции, в которой уже что-то делается.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы