Загрузка…
JavaScript · middle · сложность 4
В JS функции — first-class citizens: их можно хранить в переменных, передавать аргументами, возвращать из других функций, класть в структуры данных — как обычные значения.
function shout(s) { return s.toUpperCase(); } const fn = shout; [fn].map((f) => f("hi")); // ["HI"] function withLog(f) { return (...args) => { console.log("call", args); return f(...args); }; }
Это база для колбэков, HOF, middleware, декораторов.
Итог: first-class function = функция как значение; отсюда гибкость JS API.