ECMAScript® 2016 Language Specification#sec-ordinary-object
object that has the default behaviour for the essential internal methods that must be supported by all objects
object that does not have the default behaviour for one or more of the essential internal methods
NOTE Any object that is not an ordinary object is an exotic object.
ECMAScript® 2016 Language Specification#sec-exotic-object
object whose semantics are defined by this specification
ECMAScript® 2016 Language Specification#sec-standard-object
ECMAScript® 2016 Language Specification#sec-built-in-object
object specified and supplied by an ECMAScript implementation
NOTE Standard built-in objects are defined in this specification. An ECMAScript implementation may specify and supply additional kinds of built-in objects. A built-in constructor is a built-in object that is also a constructor.
Well-known intrinsics are built-in objects that are explicitly referenced by the algorithms of this specification and which usually have realm-specific identities. Unless otherwise specified each intrinsic object actually corresponds to a set of similar objects, one per realm.
Within this specification a reference such as %name% means the intrinsic object, associated with the current realm, corresponding to the name. Determination of the current realm and its intrinsics is described in 8.3. The well-known intrinsics are listed in Table 7.
ECMAScript 2015 §ECMAScript Data Types and Values#sec-well-known-intrinsic-objects
ECMAScript® 2016 Language Specification#sec-code-realms
Before it is evaluated, all ECMAScript code must be associated with a realm. Conceptually, a realm consists of a set of intrinsic objects, an ECMAScript global environment, all of the ECMAScript code that is loaded within the scope of that global environment, and other associated state and resources.
A realm is represented in this specification as a Realm Record with the fields specified in Table 21:
An interface is a set of property keys whose associated values match a specific specification. Any object that provides all the properties as described by an interface’s specification conforms to that interface. An interface is not represented by a distinct object. There may be many separately implemented objects that conform to any interface. An individual object may conform to multiple interfaces.
ECMAScript 2015 §Control Abstraction Objects#sec-control-abstraction-objects
Fundamental Objects ECMAScript 2015 §Fundamental Objects#sec-fundamental-objects
these are Fundamental Objects:
Context-free grammars are not sufficiently powerful to express all the rules that define whether a stream of input elements form a valid ECMAScript Script or Module that may be evaluated
example would be:
ECMAScript 2015 §ECMAScript Language: Statements and Declarations#sec-block-static-semantics-early-errors
ECMAScript 2015 §ECMAScript Language: Functions and Classes#sec-function-definitions-static-semantics-early-errors
It is a Syntax Error if any element of the BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of FunctionBody.