6.1.7 Object 类型

从逻辑上讲,Object 是属性的集合。每个属性都有一个数据(data)属性,或者一个存取器(accessor)属性:

  • 数据属性将键值(key value)与 ECMAScript 语言值和一组 Boolean 特性(attributes)相关联。

  • 存取器属性将键值与一个或两个存取器函数以及一组 Bealoon 特性相关联。 存取器函数用于存储或检索与属性关联的ECMAScript 语言值。

属性是使用键值的方式来进行标识的。属性键值是 ECMAScript 中的 String 值或者 Symbol 值组成的。所有的 String 值和 Symbol 值,包括空字符串,在属性键中都是合法的。属性名(property name)是一个由 String 值表示的属性键。

整数索引是一个字符串值的属性键,它是一个规范数字字符串(见 7.1.16 ),其数值为 +0 或 ≤ 2^53-1 的正整数。 数组索引是整数索引,其数值 i 在 +0 ≤ i < 2^32-1 的范围内。

属性键用于访问属性及它的值。有两种访问属性的方式:getset,分别用于对应值的检索和赋值。通过 getset 访问的属性包括属于对象的直接部分的自身属性和由另一个关联对象通过属性继承关系提供的继承属性。 继承属性可以是关联对象的自有属性或继承属性。 对象每个自己的属性必须各自具有与该对象的其他属性键值不同的键值。

所有对象是逻辑上的属性集合,但是有多种形式的对象在它们的语义上不同,以访问和操纵它们的属性。 普通对象是对象的最常见形式,并具有默认对象语义。 异常对象是任何形式的对象,其属性语义在任何方面都与默认语义不同。

results matching ""

    No results matching ""