Похоже на указатель на функцию. function(b)
принимает параметр x
, который был передан в указатель функции a
, этот указатель функции ссылается на function(b)
, но в отличие от обычных функций, которые немедленно возвращают значение, function(b)
возвращает другую функцию function(c)
, которая, конечно, принимает однупараметр и этот параметр должен быть заполнен при вызове const fn
.
Моя теория такова: когда вы вызываете fn, например, fn(3)
, вы получите результат, эквивалентный 2 + 8 + Math.abs(2) + 3;
Без const fn
вы также можете вызвать a
как (2) (3) который, как я верю, даст тот же результат.
Надеюсь, это поможет.