Тот код, который вы написали, не настолько функционален, как в случае с тамошним нечистым x:
const x = 10
const biggerThanFive = (() => {
if(x > 5) {
return true
}
else {
return false
}
})()
Кроме того, эта немедленно выполненная анонимная функция unidiomati c и очень запутанная для чтения.
Если бы я хотел сделать быстрое сравнение в функциональном стиле и в javascript, я бы сделал:
const biggerThanFive = _in => _in > 5
const isBigger = biggerThanFive(10)
Если бы я делал это много, я мог бы представить утилиту функция, которая позволила бы мне сделать это следующим образом:
const isTrue = (fn, _in) => fn(_in)
const res = isTrue(_in => _in>5, 19)
, что позволило мне избежать необходимости давать имя анонимной функции или явно вызывать ее.