if you are reading JavaScript spec, here's some notes that helps you understand.

ordinary object

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

exotic object

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

standard object

object whose semantics are defined by this specification

ECMAScript® 2016 Language Specification#sec-standard-object

built-in 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.

intrinsic object

ECMAScript® 2016 Language Specification#sec-well-known-intrinsic-objects

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

code realm

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:


JS: Interface

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:

in ECMAScript 2015 §Notational Conventions#sec-static-semantic-rules JavaScript Grammar is Not Context-Free!

it's say

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.