first-class function

A programming language is said to have first-class functions if it treats functions as first-class citizens. 
This means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures.