6 ECMAScript Data Types and Values Uv ECMAScript® 2017 Language Specification

Algorithms within this specification manipulate values each of which has an associated type. The possible value types are exactly those defined in this clause. Types are further subclassified into ECMAScript language types and specification types.

Within this specification, the notation “Type(x)” is used as shorthand for “the type of x” where “type” refers to the ECMAScript language and specification types defined in this clause. When the term “empty” is used as if it was naming a value, it is equivalent to saying “no value of any type”.

6.1 ECMAScript Language Types
6.1.1 The Undefined Type
6.1.2 The Null Type
6.1.3 The Boolean Type
6.1.4 The String Type
6.1.5 The Symbol Type
6.1.6 The Number Type
6.1.7 The Object Type
6.1.7.1 Property Attributes
6.1.7.2 Object Internal Methods and Internal Slots
6.1.7.3 Invariants of the Essential Internal Methods
6.1.7.4 Well-Known Intrinsic Objects
6.2 ECMAScript Specification Types
6.2.1 The List and Record Specification Types
6.2.2 The Set and Relation Specification Types
6.2.3 The Completion Record Specification Type
6.2.4 The Reference Specification Type
6.2.5 The Property Descriptor Specification Type
6.2.6 The Lexical Environment and Environment Record Specification Types
6.2.7 Data Blocks
6.2.7.1 CreateByteDataBlock ( size )
6.2.7.2 CreateSharedByteDataBlock( size )
6.2.7.3 CopyDataBlockBytes ( toBlock, toIndex, fromBlock, fromIndex, count )