A programming paradigm in which gameobjects (entities) are composed out of components, and are operated upon by systems. Each entity is an ID that points to specific components.
Gameobject: anything acting in the game (car, gun, Steve).
Entity: a globally unique identifier (string, number) pointing to a set of components that comprise a gameobject.
Component: a blob of data or simply a tag (
System: implements functionality. Systems operate on components (
See this answer for a through explanation of an Entity System.