O'Reilly logo
  • Jeevan Varughese thinks this is interesting:

first-class functions and passing functions—a callback is a well-supported pattern in the language


Cover of Beginning Node.js


Your language is treating functions as first class objects. It means that functions are objects, with a type and a behaviour. They can be dynamically built, passed around as any other object, and the fact that they can be called is part of their interface. It means that function actually inherits from Object.