The abstract operation OrdinaryToPrimitive takes arguments obj (一个 Object,) and hint (string 或 number,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation ToBoolean takes argument argument (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它将 argument 转换为 Boolean 类型的值。 It performs the following steps when called:
The abstract operation ToNumeric takes argument value (一个 ECMAScript 语言值,) and returns 要么是包含 Number 或 BigInt 的正常完成,要么是抛出完成. 它返回转换为 Number 或 BigInt 的 value。 It performs the following steps when called:
The abstract operation ToNumber takes argument argument (一个 ECMAScript 语言值,) and returns 要么是包含 Number 的正常完成,要么是抛出完成. 它将 argument 转换为 Number 类型的值。 It performs the following steps when called:
如果 argument 是 Number,返回 argument。
如果 argument 是 Symbol 或 BigInt 之一,抛出一个 TypeError 异常。
The abstract operation RoundMVResult takes argument n (一个数学值,) and returns 一个 Number. 它以实现定义的方式将 n 转换为 Number。就本抽象操作而言,如果某位数字不是零,或者它左边存在非零数字且右边存在非零数字,则该位数字是有效数字。就本抽象操作而言,数学值表示的“由……所表示的数学值”是数学值“十进制表示”的逆运算。 It performs the following steps when called:
The abstract operation ToIntegerOrInfinity takes argument argument (一个 ECMAScript 语言值,) and returns 要么是包含整数、+∞ 或 -∞ 的正常完成,要么是抛出完成. 它将 argument 转换为一个整数,该整数表示其 Number 值去掉小数部分后的结果;如果该 Number 值是无穷大,则转换为 +∞ 或 -∞。 It performs the following steps when called:
The abstract operation ToFixedSizeInteger takes arguments int (一个整数、+∞ 或 -∞), signed (unsigned 或 signed), and bitWidth (一个正整数) and returns 一个整数. 它将 int 映射到 2bitWidth 个整数之一;如果 signed 是 unsigned,则该整数位于从 0 到 2bitWidth - 1 的闭区间内;如果 signed 是 signed,则该整数位于从 -2bitWidth - 1 到 2bitWidth - 1 - 1 的闭区间内。 It performs the following steps when called:
如果 int = +∞ 或 int = -∞,则返回 0。
令 fixedInt 为 int 模 2bitWidth 的结果。
注:以下步骤不会改变 fixedInt 的二进制补码表示。
如果 signed 是 signed 且 fixedInt ≥ 2bitWidth - 1,则将 fixedInt 设置为 fixedInt - 2bitWidth。
The abstract operation ToInt32 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 232 个整数 Number 值之一,该值位于从 𝔽(-231) 到 𝔽(231 - 1) 的闭区间内,不包括 -0𝔽。 It performs the following steps when called:
The abstract operation ToUint32 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 232 个整数 Number 值之一,该值位于从 +0𝔽 到 𝔽(232 - 1) 的闭区间内。 It performs the following steps when called:
The abstract operation ToInt16 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 216 个整数 Number 值之一,该值位于从 𝔽(-215) 到 𝔽(215 - 1) 的闭区间内,不包括 -0𝔽。 It performs the following steps when called:
The abstract operation ToUint16 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 216 个整数 Number 值之一,该值位于从 +0𝔽 到 𝔽(216 - 1) 的闭区间内。 It performs the following steps when called:
The abstract operation ToInt8 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 28 个整数 Number 值之一,该值位于从 -128𝔽 到 127𝔽 的闭区间内,不包括 -0𝔽。 It performs the following steps when called:
The abstract operation ToUint8 takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 28 个整数 Number 值之一,该值位于从 +0𝔽 到 255𝔽 的闭区间内。 It performs the following steps when called:
The abstract operation ToUint8Clamp takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 钳制并舍入为 28 个整数 Number 值之一,该值位于从 +0𝔽 到 255𝔽 的闭区间内。 It performs the following steps when called:
The abstract operation ToBigInt takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含 BigInt 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 BigInt 值;如果需要从 Number 进行隐式转换,则抛出异常。 It performs the following steps when called:
The abstract operation ToString takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含 String 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 String 类型的值。 It performs the following steps when called:
The abstract operation ToObject takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含 Object 的正常完成,要么是一个 throw 完成. 它将 argument 转换为 Object 类型的值。 It performs the following steps when called:
The abstract operation ToPropertyKey takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含属性键的正常完成,要么是一个 throw 完成. 它将 argument 转换为可用作属性键的值。 It performs the following steps when called:
The abstract operation ToLength takes argument argument (一个 ECMAScript 语言值) and returns 要么是一个包含非负整数 Number 的正常完成,要么是一个 throw 完成. 它将 argument 钳制并截断为适合用作类数组对象长度的非负整数 Number。 It performs the following steps when called:
The abstract operation CanonicalNumericIndexString takes argument argument (一个 String) and returns 一个 Number 或 undefined. 如果 argument 是 "-0",或者与某个 Number 值n 的 ToString(n) 完全匹配,则它返回相应的 Number 值。否则,它返回 undefined。 It performs the following steps when called:
The abstract operation ToIndex takes argument value (一个 ECMAScript 语言值,) and returns 要么是包含非负整数的正常完成,要么是抛出完成. 它将 value 转换为整数,并且如果该整数是非负且对应于一个整数索引,则返回该整数。否则,抛出异常。 It performs the following steps when called:
The abstract operation RequireObjectCoercible takes argument argument (一个 ECMAScript 语言值,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. 如果 argument 是一个无法使用 ToObject 转换为 Object 的值,它就抛出错误。 It performs the following steps when called:
The abstract operation IsArray takes argument argument (一个 ECMAScript 语言值,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation IsCallable takes argument argument (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它判定 argument 是否为具有 [[Call]] 内部方法的可调用函数。 It performs the following steps when called:
如果 argument 不是一个 Object,返回 false。
如果 argument 拥有 [[Call]] 内部方法,返回 true。
返回 false。
7.2.4 IsConstructor ( argument )
The abstract operation IsConstructor takes argument argument (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它判定 argument 是否为具有 [[Construct]] 内部方法的函数对象。 It performs the following steps when called:
如果 argument 不是一个 Object,返回 false。
如果 argument 拥有 [[Construct]] 内部方法,返回 true。
返回 false。
7.2.5 IsExtensible ( obj )
The abstract operation IsExtensible takes argument obj (一个 Object,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于确定是否可以向 obj 添加额外属性。 It performs the following steps when called:
返回 ? obj.[[IsExtensible]]()。
7.2.6 IsRegExp ( argument )
The abstract operation IsRegExp takes argument argument (一个 ECMAScript 语言值,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation IsStringWellFormedUnicode takes argument string (一个 String,) and returns 一个 Boolean. 它将 string 解释为一个 UTF-16 编码码点序列,如 6.1.4 所述,并判定它是否是一个格式良好的 UTF-16 序列。 It performs the following steps when called:
The abstract operation SameType takes arguments x (一个 ECMAScript 语言值,) and y (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它判定两个参数是否属于同一类型。 It performs the following steps when called:
如果 x 是 undefined 且 y 是 undefined,返回 true。
如果 x 是 null 且 y 是 null,返回 true。
如果 x 是 Boolean 且 y 是 Boolean,返回 true。
如果 x 是 Number 且 y 是 Number,返回 true。
如果 x 是 BigInt 且 y 是 BigInt,返回 true。
如果 x 是 Symbol 且 y 是 Symbol,返回 true。
如果 x 是 String 且 y 是 String,返回 true。
如果 x 是 Object 且 y 是 Object,返回 true。
返回 false。
7.2.9 SameValue ( x, y )
The abstract operation SameValue takes arguments x (一个 ECMAScript 语言值,) and y (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它判定两个参数是否是同一个值。 It performs the following steps when called:
该算法与 IsStrictlyEqual 算法的不同之处在于:它将所有 NaN 值视为等价,并且区分 +0𝔽 与 -0𝔽。
7.2.10 SameValueZero ( x, y )
The abstract operation SameValueZero takes arguments x (一个 ECMAScript 语言值,) and y (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它判定两个参数是否是同一个值(忽略 +0𝔽 与 -0𝔽 之间的差异)。 It performs the following steps when called:
The abstract operation SameValueNonNumber takes arguments x (一个 ECMAScript 语言值,但不是 Number,) and y (一个 ECMAScript 语言值,但不是 Number,) and returns 一个 Boolean. It performs the following steps when called:
The abstract operation IsLessThan takes arguments x (一个 ECMAScript 语言值,), y (一个 ECMAScript 语言值,), and leftFirst (一个 Boolean,) and returns 要么是包含 Boolean 或 undefined 的正常完成,要么是抛出完成. 它为比较 x < y 提供语义,返回 true、false 或 undefined(表示操作数无法被强制转换为同一数值类型的可比较值)。leftFirst 标志用于控制对 x 和 y 执行具有潜在可见副作用的操作的顺序。这是必要的,因为 ECMAScript 规定表达式从左到右求值。如果 leftFirst 为 true,则 x 参数对应于出现在 y 参数对应表达式左侧的表达式。如果 leftFirst 为 false,则情况相反,必须先对 y 执行操作,再对 x 执行操作。 It performs the following steps when called:
The abstract operation IsLooselyEqual takes arguments x (一个 ECMAScript 语言值,) and y (一个 ECMAScript 语言值,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它提供 == 运算符的语义。 It performs the following steps when called:
The abstract operation IsStrictlyEqual takes arguments x (一个 ECMAScript 语言值,) and y (一个 ECMAScript 语言值,) and returns 一个 Boolean. 它提供 === 运算符的语义。 It performs the following steps when called:
The abstract operation MakeBasicObject takes argument internalSlotsList (一个内部槽名称的 List,) and returns 一个 Object. 它是一切通过算法创建的 ECMAScript 对象的来源,包括普通对象和异质对象。它提取了创建所有对象时都会用到的共同步骤,并集中处理对象创建。 It performs the following steps when called:
The abstract operation Get takes arguments obj (一个 Object,) and propertyKey (一个属性键,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. 它用于获取对象某个特定属性的值。 It performs the following steps when called:
返回 ? obj.[[Get]](propertyKey, obj)。
7.3.3 GetV ( value, propertyKey )
The abstract operation GetV takes arguments value (一个 ECMAScript 语言值,) and propertyKey (一个属性键,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. 它用于获取某个 ECMAScript 语言值的特定属性的值。如果该值不是对象,则属性查找会使用适合该值类型的包装对象来执行。 It performs the following steps when called:
The abstract operation Set takes arguments obj (一个 Object,), propertyKey (一个属性键,), value (一个 ECMAScript 语言值,), and throw (一个 Boolean,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. 它用于设置对象某个特定属性的值。value 是该属性的新值。 It performs the following steps when called:
7.3.5 CreateDataProperty ( obj, propertyKey, value )
The abstract operation CreateDataProperty takes arguments obj (一个 Object,), propertyKey (一个属性键,), and value (一个 ECMAScript 语言值,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于创建对象的一个新的自有属性。 It performs the following steps when called:
7.3.6 CreateDataPropertyOrThrow ( obj, propertyKey, value )
The abstract operation CreateDataPropertyOrThrow takes arguments obj (一个 Object,), propertyKey (一个属性键,), and value (一个 ECMAScript 语言值,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. 它用于创建对象的一个新的自有属性。如果所请求的属性更新无法执行,它会抛出 TypeError 异常。 It performs the following steps when called:
7.3.7 CreateNonEnumerableDataPropertyOrThrow ( obj, propertyKey, value )
The abstract operation CreateNonEnumerableDataPropertyOrThrow takes arguments obj (一个 Object,), propertyKey (一个属性键,), and value (一个 ECMAScript 语言值,) and returns unused. 它用于创建普通对象的一个新的不可枚举自有属性。 It performs the following steps when called:
The abstract operation DefinePropertyOrThrow takes arguments obj (一个 Object,), propertyKey (一个属性键,), and desc (一个 Property Descriptor,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. 它用于以一种在所请求的属性更新无法执行时会抛出 TypeError 异常的方式,调用对象的 [[DefineOwnProperty]] 内部方法。 It performs the following steps when called:
The abstract operation DeletePropertyOrThrow takes arguments obj (一个 Object,) and propertyKey (一个属性键,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. 它用于移除对象的一个特定自有属性。如果该属性不可配置,它会抛出异常。 It performs the following steps when called:
令 success 为 ? obj.[[Delete]](propertyKey)。
如果 success 是 false,抛出一个 TypeError 异常。
返回 unused。
7.3.10 GetMethod ( value, propertyKey )
The abstract operation GetMethod takes arguments value (一个 ECMAScript 语言值,) and propertyKey (一个属性键,) and returns 要么是包含函数对象或 undefined 的正常完成,要么是抛出完成. 它用于在期望属性值为函数时,获取某个 ECMAScript 语言值的特定属性值。 It performs the following steps when called:
The abstract operation HasProperty takes arguments obj (一个 Object,) and propertyKey (一个属性键,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于判定对象是否具有指定属性键的属性。该属性可以是自有属性,也可以是继承属性。 It performs the following steps when called:
返回 ? obj.[[HasProperty]](propertyKey)。
7.3.12 HasOwnProperty ( obj, propertyKey )
The abstract operation HasOwnProperty takes arguments obj (一个 Object,) and propertyKey (一个属性键,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于判定对象是否具有指定属性键的自有属性。 It performs the following steps when called:
The abstract operation Construct takes argument constructor (一个构造器,) and optional arguments argumentsList (一个 ECMAScript 语言值的 List,) and newTarget (一个构造器,) and returns 要么是包含 Object 的正常完成,要么是抛出完成. 它用于调用函数对象的 [[Construct]] 内部方法。argumentsList 和 newTarget 是要作为内部方法对应参数传入的值。如果 argumentsList 不存在,则使用一个新的空 List 作为其值。如果 newTarget 不存在,则使用 constructor 作为其值。 It performs the following steps when called:
The abstract operation SetIntegrityLevel takes arguments obj (一个 Object,) and level (sealed 或 frozen,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于固定一个对象的自有属性集合。 It performs the following steps when called:
The abstract operation TestIntegrityLevel takes arguments obj (一个 Object,) and level (sealed 或 frozen,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它用于判定对象的自有属性集合是否已经固定。 It performs the following steps when called:
The abstract operation CreateArrayFromList takes argument elements (一个 ECMAScript 语言值的 List,) and returns 一个 Array. 它用于创建一个 Array,其元素由 elements 提供。 It performs the following steps when called:
The abstract operation LengthOfArrayLike takes argument obj (一个 Object,) and returns 要么是包含非负整数的正常完成,要么是抛出完成. 它返回类数组对象的 "length" 属性值。 It performs the following steps when called:
The abstract operation CreateListFromArrayLike takes argument obj (一个 ECMAScript 语言值,) and optional argument validElementTypes (all 或 property-key,) and returns 要么是包含 ECMAScript 语言值的 List 的正常完成,要么是抛出完成. 它用于创建一个 List,其元素由 obj 的索引属性提供。validElementTypes 指示哪些类型的值允许作为元素。 It performs the following steps when called:
The abstract operation Invoke takes arguments value (一个 ECMAScript 语言值,) and propertyKey (一个属性键,) and optional argument argumentsList (一个 ECMAScript 语言值的 List,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. 它用于调用某个 ECMAScript 语言值的方法属性。value 同时充当该属性的查找起点和调用时的 this 值。argumentsList 是传给该方法的参数值列表。如果 argumentsList 不存在,则使用一个新的空 List 作为其值。 It performs the following steps when called:
The abstract operation OrdinaryHasInstance takes arguments constructor (一个 ECMAScript 语言值,) and instance (一个 ECMAScript 语言值,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. 它实现默认算法,用于判定 instance 是否继承自由 constructor 提供的实例对象继承路径。 It performs the following steps when called:
The abstract operation SpeciesConstructor takes arguments obj (一个 Object,) and defaultConstructor (一个构造器,) and returns 要么是包含构造器的正常完成,要么是抛出完成. 它用于获取应当用来创建派生自 obj 的新对象的构造器。如果从 obj 开始无法找到构造器的 %Symbol.species% 属性,则使用 defaultConstructor 作为构造器。 It performs the following steps when called:
The abstract operation EnumerableOwnProperties takes arguments obj (一个 Object,) and kind (key、value 或 key+value,) and returns 要么是包含 ECMAScript 语言值的 List 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetFunctionRealm takes argument func (一个函数对象,) and returns 要么是包含 Realm Record 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation CopyDataProperties takes arguments target (一个 Object,), source (一个 ECMAScript 语言值,), and excludedItems (一个属性键的 List,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation PrivateElementFind takes arguments obj (一个 Object,) and privateName (一个 Private Name,) and returns 一个 PrivateElement 或 empty. It performs the following steps when called:
7.3.27 PrivateFieldAdd ( obj, privateName, value )
The abstract operation PrivateFieldAdd takes arguments obj (一个 Object,), privateName (一个 Private Name,), and value (一个 ECMAScript 语言值,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation PrivateMethodOrAccessorAdd takes arguments obj (一个 Object,) and method (一个 PrivateElement,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation PrivateGet takes arguments obj (一个 Object,) and privateName (一个 Private Name,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation PrivateSet takes arguments obj (一个 Object,), privateName (一个 Private Name,), and value (一个 ECMAScript 语言值,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation DefineField takes arguments receiver (一个 Object,) and fieldRecord (一个 ClassFieldDefinition Record,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation InitializeInstanceElements takes arguments obj (一个 Object,) and constructor (一个 ECMAScript 函数对象或内建函数对象,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetOptionsObject takes argument options (一个 ECMAScript 语言值,) and returns 要么是包含 Object 的正常完成,要么是抛出完成. It performs the following steps when called:
7.3.37 SetterThatIgnoresPrototypeProperties ( thisValue, home, propertyKey, value )
The abstract operation SetterThatIgnoresPrototypeProperties takes arguments thisValue (一个 ECMAScript 语言值,), home (一个 Object,), propertyKey (一个属性键,), and value (一个 ECMAScript 语言值,) and returns 要么是包含 unused 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetIteratorDirect takes argument obj (一个 Object,) and returns 要么是包含 Iterator Record 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetIteratorFromMethod takes arguments obj (一个 ECMAScript 语言值,) and method (一个函数对象,) and returns 要么是包含 Iterator Record 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetIterator takes arguments obj (一个 ECMAScript 语言值,) and kind (sync 或 async,) and returns 要么是包含 Iterator Record 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation GetIteratorFlattenable takes arguments obj (一个 ECMAScript 语言值,) and primitiveHandling (iterate-string-primitives 或 reject-primitives,) and returns 要么是包含 Iterator Record 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation IteratorNext takes argument iteratorRecord (一个 Iterator Record,) and optional argument value (一个 ECMAScript 语言值,) and returns 要么是包含 Object 的正常完成,要么是抛出完成. It performs the following steps when called:
如果 value 不存在,那么
令 result 为 Completion(Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]))。
否则,
令 result 为 Completion(Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]], « value »))。
如果 result 是一个抛出完成,那么
将 iteratorRecord.[[Done]] 设为 true。
返回 ? result。
将 result 设为 ! result。
如果 result 不是一个 Object,那么
将 iteratorRecord.[[Done]] 设为 true。
抛出一个 TypeError 异常。
返回 result。
7.4.7 IteratorComplete ( iteratorResult )
The abstract operation IteratorComplete takes argument iteratorResult (一个 Object,) and returns 要么是包含 Boolean 的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation IteratorValue takes argument iteratorResult (一个 Object,) and returns 要么是包含 ECMAScript 语言值的正常完成,要么是抛出完成. It performs the following steps when called:
The abstract operation IteratorClose takes arguments iteratorRecord (一个 Iterator Record,) and completion (一个 Completion Record,) and returns 一个 Completion Record. 它用于通知一个迭代器:它应当执行在到达完成状态时通常会执行的任何操作。 It performs the following steps when called:
The abstract operation AsyncIteratorClose takes arguments iteratorRecord (一个 Iterator Record,) and completion (一个 Completion Record,) and returns 一个 Completion Record. 它用于通知一个异步迭代器:它应当执行在到达完成状态时通常会执行的任何操作。 It performs the following steps when called:
The abstract operation CreateIteratorResultObject takes arguments value (一个 ECMAScript 语言值,) and done (一个 Boolean,) and returns 一个符合 IteratorResult 接口的 Object. 它创建一个符合 IteratorResult 接口的对象。 It performs the following steps when called:
The abstract operation CreateListIteratorRecord takes argument list (一个 ECMAScript 语言值的 List,) and returns 一个 Iterator Record. 它创建一个 Iterator Record,其 [[NextMethod]] 会返回 list 的连续元素。 It performs the following steps when called:
The abstract operation IteratorToList takes argument iteratorRecord (一个 Iterator Record,) and returns 要么是包含 ECMAScript 语言值的 List 的正常完成,要么是抛出完成. It performs the following steps when called: