В различной литературе (в частности на википедии, у Стефанова, у Сошникова) функции в JavaScript называют "объектами первого класса". Понятно, что функция - объект. Но почему именно "первого класса" и что это вообще значит - нигде не разъясняется. Поэтому, прошу объяснить. Возможно, есть какие-то критерии, по которым нечто можно определить как объект первого класса?
Можно почитать это или "Structure and Interpretation of Computer Programs " (за авторством Gerald Jay Sussman и Harry Abelson).
Если критерии функции первого класса сформулировать, то:
Если в двух словах, то, в JavaScript это означает, что всё, что вы можете делать с Integer, String, Array или любыми другими объектами, вы можете также делать и с функциями.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости