Почему вдруг if (f(a)) {...}?
В if передается функция как объект и она не выполняется. Функция неявно приводится к bool и равна true.

Я не понял откуда взялось (function(a) {...})(a).
a => b из поста будет аналогично a => 5 и тут никаких других подстановок значений не будет.
При чем код из поста работать будет без ошибок и даже "правильно" пока a >= b.

Выражение a => b, аналогично объявлению function (a) {return b}, но никак не автовызову

Вместо сравнения чисел объявлена стрелочная функция

Бенефис кринжа

Шапки*

Пизда машине?

Девятисекундка ультравасилия