自娱自乐系列,求不黑
4.3 术语和定义
以下术语和定义应用于本文档。
4.3.1 类型
在本声明条款6中所定义的一系列数据值。
4.3.2 初始类型
在条款6中定义的未定义(Undefined),空(Null),布尔(Boolean),数字(Number),符号(Symbol),或者字符串(String)。
特别注意 一个初始数据是直接代表在语言实现中国最低级别的数据。
4.3.3 对象
对象数据类型
特别注意 一个对线工时有一个大度的原型对象和一系列原型的集合。原型可以为空值
4.3.4 构造体
一个函数对象用来创建和初始化对象
特别注意 构造体的“原型”原型是一个用来实现继承和共享的原型的原型对象
4.3.5 原型
对象提供给其他对象的共享原型
特别注意 当一个构造体创建一个对象,这个对象隐式引用构造体的原型原型来处理原型的引用。这个构造体的原型可以被程序的解释器构造体.原型所引用,然后原型就被通过集成添加到对象的原型中并被所有对象共享。或者,一个新的对象会被明确的由内建函数构造体.创建来直接创建。
4.3.6 普通对象
拥有所有对象都必须支持的基本内在方法的对象
4.3.7 外部对象
不包含必须支持的基本内在方法的对象
4.3.8 标准对象
按照本声明定义的对象
4.3.9 内建对象
对象由ECMAScript实现机制提供和规定。
特别注意 标准内建对象在本声明中已经定义了。一个ECMAScript实现机制可以添加额外种类的内建对象。一个内建构造器既是一个内建对象也是一个构造器。
4.3.10 未定义值
当一个变量没有被赋值的时候的默认值。
4.3.11 未定义类型
唯一值是未定义值的类型
4.3.12 空值
特意表示任何对象值都是空的默认值
4.3.13 空类型
唯一值是控制的类
4.3.14 布尔值
布尔类型的值
特别注意 只有两个布尔值 真(true)或者假(false)
4.3.15 布尔类型
只包含基础值true和false的类型
4.3.16 布尔对象
一个标准内建布尔构造器的实例,对象类型的一员
4.3.17 字符串值
由零个或者多个16位无符号整数构成的有限规则序列,原始值之一。
特别注意 字符串值是字符串类型的成员之一。序列中的每个整数值一般代表一个UTF-16中的一个单独16bit单元。然而,除了值必须是16位无符号整数外,ECMAScript对字符串值没有任何限制和要求。
4.3.18 字符串类型
所有可能的字符串值的集合
4.3.19 字符串对象
一个对象类型成员,由标准内建构造器:字符串构造器生成。
4.3.20 数字值
原始值之一,匹配一个符合IEEE 754-2008标准的双精度64位二进制值。
特别注意 一个数字值是数字类型的一个成员,也是一个数字的直接代表。
4.3.21数字类型
所有可能数字值的集合,并包括NAN值,正无穷和负无穷。
4.3.22 数字对象
有标准内建构造器,数字构造器生成的对象
4.3.23 无穷
正无穷,一个数字值
4.3.24 NaN
一个IEEE754-2008 标准“Not-a-Number”值。
4.3.25 符号值(symbol)
原始值,表示一个独特的,非字符串对象的属性键。
4.3.26 符号类型
所有符号值的集合。
4.3.27 符号对象
有标准内建符号构造器创建的对象类型。
4.3.28 函数(function)
一个对象类型,可以被作为子程序调用。
特别注意 即使在属性之外,一个函数也可以拥有决定当被调用的时候如何执行的可执行代码和状态,一个函数的代码可能也可能不是写在ECMASCript之中。
4.3.29 内建函数
是函数的内建对象。
特别注意 内建函数的例子包括 paresInt和Math.exp。不同的实现也许包含不属于本声明的自实内建函数。
4.3.30 属性(property)
对象的一部分,关联一个键或者一个值。
特别注意 取决于属性的形态,属性的值可能是一个数据值(一个原始值,一个对象或者一个函数对象)也可能间接有一系列积存函数构成。
4.3.31 方法(method)
作为属性的一个函数
特别注意 当一个函数被一个对象定义成方法时,这个对象可以通过this传递值。
4.3.32 内建方法(built-in method)
是内建函数的方法
特别注意 标准内建方法是由本声明定义,和ECMAScript实现来执行提供的额外内建方法。
4.3.33 特性(attribute)
定义一个属性的某些典型特色的内部值。
4.3.34 私有属性(property)
直接被对象所包含的属性
4.3.35 继承属性
一个对象的属性,不是私有属性,是对象原型的属性。(好绕口)
4.4 本声明结构
本声明的剩余部分按照如下结构组织:
条款5定义了本声明需要用到的约定符号。
条款6-9定义了ECMAScript程序操作所需要的执行环境。
条款10-16定义了实际的ECMAScript编程语言,包括编码句法和执行句法的素有语言特性。
条款17-26定义了ECMAScript的标准库。包括所有执行ECMAScript程序时可用的标准对象的定义。