# ECMAScript 数据类型和值

本规范中的算法处理每个具有关联类型的值。可能的值类型正是本节中定义的那些。类型进一步细分为ECMAScript 语言类型和规格类型。

在本规范中,符号“Type( x )”用作“ x的类型”的简写,其中“type”是指本节中定义的 ECMAScript 语言和规范类型。当术语“空”被用作命名一个值时,它相当于说“没有任何类型的值”。

# ECMAScript 语言类型

ECMAScript 语言类型对应于 ECMAScript 程序员使用 ECMAScript 语言直接操作的值。ECMAScript 语言类型有 Undefined、Null、Boolean、String、Symbol、Number、BigInt 和 Object。ECMAScript 语言值是以 ECMAScript 语言类型为特征的值。

# ECMAScript 规范类型

规范类型对应于在算法中用于描述 ECMAScript 语言构造和 ECMAScript 语言类型的语义的元值。规范类型包括引用、列表、完成记录、属性描述符、环境记录、抽象闭包和数据块。规范类型值是规范构件,它们不一定对应于 ECMAScript 实现中的任何特定实体。规范类型值可用于描述 ECMAScript 表达式计算的中间结果,但这些值不能作为对象的属性或 ECMAScript 语言变量的值存储。