7.3.17 CreateListFromArrayLike ( obj [ , elementTypes ] )

抽象操作 CreateListFromArrayLike 用于创建一个 List 值,它的元素由类似数组的对象 obj 的索引属性提供。 可选参数 elementTypes 是一个包含 ECMAScript 语言类型的名称的列表,这些名称允许用于创建的 List 的元素值。 此抽象操作执行以下步骤:

  1. 如果没有传递 elementTypes,则 elementTypes 为 «Undefined,Null,Boolean,String,Symbol,Number,Object»。
  2. 如果 Type(obj) 不是 Object 类型,则抛出一个 TypeError 错误。
  3. 使 len 变为? ToLength(? Get(obj, "length"))。
  4. 使 list 变为一个新的空 List
  5. 使 index 变为 0。

  6. index < len 时重复以下操作,

a. 使 indexName 变为 ! ToString(index)。

b. 使 next 变为? Get(obj, indexName)。

c. 如果 Type(next) 不是 elementTypes 的一个元素,那么抛出一个 TypeError 错误。

d. 将 next 附加为 list 的最后一个元素。

e. 设置 index index + 1。

7.返回 list

results matching ""

    No results matching ""