first-class functions and passing functions—a callback is a well-supported pattern in the language
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.
Share this highlighthttp://www.safaribooksonline.com/a/beginning-nodejs/8454338/