timeFive
должен возвращать функцию, а семь должны ожидать функцию в качестве параметра. Тогда seven
может просто вызвать функцию, которую возвращает timesFive()
(поэтому, в основном, возвращает операцию * 5
, как вы упомянули в своем вопросе):
function seven(action) {
var a = 7;
return action(a);
}
function timesFive() {
return (a) => a * 5;
}
console.log(seven(timesFive())); // Desired result: 35
КСТАТИ
Вы часто будете видеть такие упражнения, написанные таким образом, чтобы имитировать функциональные обозначения из математики, например:
const seven = (action) => action(7);
const timesFive = () => (a) => a * 5;
console.log(seven(timesFive())); // Desired result: 35