first-class object

A first-class object (also type, citizen, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities. These operations typically include being passed as an argument, returned from a function, modified, and assigned to a variable.
Robin Popplestone gave the following definition: All items have certain fundamental rights.
    1. All items can be the actual parameters of functions
    2. All items can be returned as results of functions
    3. All items can be the subject of assignment statements
    4. All items can be tested for equality.