First-Class Functions
↔ of function equiv to regular Variables
First-Class Citizen
of entity to support all operations available to other entities, ie variable assignment, passed as function arg or function return
First-Class Functions can be passed into & returned from other functions
First-class functions enable writing Higher-Order Function
this allows for more advanced techniques used in paradigms such as Functional Programming
Higher-Order Function
fn to receive Callback arg, to return fn, or both