diff --git a/translated/issues-15.html b/translated/issues-15.html index 2b9ad9d557..5d631204b2 100644 --- a/translated/issues-15.html +++ b/translated/issues-15.html @@ -1,12 +1,12 @@ -

Operations on Objects

+

对象具有的操作

Get ( _O_, _P_ )

-

The abstract operation Get is used to retrieve the value of a specific property of an object. The operation is called with arguments _O_ and _P_ where _O_ is the object and _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 Get 用于检索对象特定属性的值。该操作接受两个参数 _O_, _P_,其中 _O_ 是操作的对象,_P_ 是对象的属性 key。该抽象操作执行以下步骤:

- 1. Assert: Type(_O_) is Object. + 1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. 1. Return ? _O_.[[Get]](_P_, _O_). @@ -15,7 +15,7 @@

Get ( _O_, _P_ )

GetV ( _V_, _P_ )

-

The abstract operation GetV is used to retrieve the value of a specific property of an ECMAScript language value. If the value is not an object, the property lookup is performed using a wrapper object appropriate for the type of the value. The operation is called with arguments _V_ and _P_ where _V_ is the value and _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 GetV 用于检索一个 ECMAScript 语言值指定属性的值。如果这个 ECMAScript 值不是对象,则使用合适该值类型的属性包装器对象来执行属性的查找。使用参数 _V_ 和 _P_ 调用操作([[Get]]),其中 _V_ 是传入的 ECMAScript 值,_P_ 是需要检索的属性 key。该抽象操作的执行步骤如下:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _O_ be ? ToObject(_V_). @@ -26,7 +26,7 @@

GetV ( _V_, _P_ )

Set ( _O_, _P_, _V_, _Throw_ )

-

The abstract operation Set is used to set the value of a specific property of an object. The operation is called with arguments _O_, _P_, _V_, and _Throw_ where _O_ is the object, _P_ is the property key, _V_ is the new value for the property and _Throw_ is a Boolean flag. This abstract operation performs the following steps:

+

抽象操作 Set 用于设置对象的特定属性的值。该操作使用参数 _O_, _P_, _V_, _Throw_ 调用,其中 _O_ 是被操作的对象,_P_ 是制定的属性, _V_ 是属性的新值,_Throw_ 是一个 Boolean 类型的标志。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -40,7 +40,7 @@

Set ( _O_, _P_, _V_, _Throw_ )

CreateDataProperty ( _O_, _P_, _V_ )

-

The abstract operation CreateDataProperty is used to create a new own property of an object. The operation is called with arguments _O_, _P_, and _V_ where _O_ is the object, _P_ is the property key, and _V_ is the value for the property. This abstract operation performs the following steps:

+

抽象操作 CreateDataProperty 用于给对象创建一个新的自身属性。这个操作使用参数 _O_, _P_ 和 _V_ 调用,其中 _O_ 是被操作的对象,_P_ 是属性 key 值,_V_ 是属性的值。这个抽象操作执行以下步骤:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -48,14 +48,14 @@

CreateDataProperty ( _O_, _P_, _V_ )

1. Return ? _O_.[[DefineOwnProperty]](_P_, _newDesc_).
-

This abstract operation creates a property whose attributes are set to the same defaults used for properties created by the ECMAScript language assignment operator. Normally, the property will not already exist. If it does exist and is not configurable or if _O_ is not extensible, [[DefineOwnProperty]] will return *false*.

+

该抽象操作创建一个和通过 ECMAScript 语言赋值运算符创建的属性相同特性的属性。通常,这个属性(开始)是不存在的。如果该属性存在并且是不可配置的,或者对象 _O_ 是不可扩展的,则内置方法 [[DefineOwnProperty]] 将返回 *false*。

CreateMethodProperty ( _O_, _P_, _V_ )

-

The abstract operation CreateMethodProperty is used to create a new own property of an object. The operation is called with arguments _O_, _P_, and _V_ where _O_ is the object, _P_ is the property key, and _V_ is the value for the property. This abstract operation performs the following steps:

+

抽象操作 CreateMethodProperty 用于给对象创建一个新的自身属性。接受参数 _O_,_P_,_V_,其中 _O_ 是目标对象,_P_ 是属性 key,_V_ 是属性值。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -63,14 +63,14 @@

CreateMethodProperty ( _O_, _P_, _V_ )

1. Return ? _O_.[[DefineOwnProperty]](_P_, _newDesc_).
-

This abstract operation creates a property whose attributes are set to the same defaults used for built-in methods and methods defined using class declaration syntax. Normally, the property will not already exist. If it does exist and is not configurable or if _O_ is not extensible, [[DefineOwnProperty]] will return *false*.

+

这个抽象操作创建的属性和那些内部方法或者使用类定于语法定义的方法使用相同的默认特性。该抽象操作创建一个和通过 ECMAScript 语言赋值运算符创建的属性相同特性的属性。通常,这个属性(开始)是不存在的。如果该属性存在并且是不可配置的,或者对象 _O_ 是不可扩展的,则内置方法 [[DefineOwnProperty]] 将返回 *false*。

CreateDataPropertyOrThrow ( _O_, _P_, _V_ )

-

The abstract operation CreateDataPropertyOrThrow is used to create a new own property of an object. It throws a *TypeError* exception if the requested property update cannot be performed. The operation is called with arguments _O_, _P_, and _V_ where _O_ is the object, _P_ is the property key, and _V_ is the value for the property. This abstract operation performs the following steps:

+

抽象操作 CreateDataPropertyOrThrow 用于给对象自身添加一个新属性,如果更新属性的请求不能执行将抛出 *TypeError* 异常。接受参数 _O_,_P_,_V_,其中 _O_ 是目标对象,_P_ 是属性 key,_V_ 是属性值。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -79,14 +79,14 @@

CreateDataPropertyOrThrow ( _O_, _P_, _V_ )

1. Return _success_.
-

This abstract operation creates a property whose attributes are set to the same defaults used for properties created by the ECMAScript language assignment operator. Normally, the property will not already exist. If it does exist and is not configurable or if _O_ is not extensible, [[DefineOwnProperty]] will return *false* causing this operation to throw a *TypeError* exception.

+

这个抽象操作创建的属性和那些内部方法或者使用类定于语法定义的方法使用相同的默认特性。该抽象操作创建一个和通过 ECMAScript 语言赋值运算符创建的属性相同特性的属性。通常,这个属性(开始)是不存在的。如果该属性存在并且是不可配置的,或者对象 _O_ 是不可扩展的,则内置方法 [[DefineOwnProperty]] 将返回 *false*。

DefinePropertyOrThrow ( _O_, _P_, _desc_ )

-

The abstract operation DefinePropertyOrThrow is used to call the [[DefineOwnProperty]] internal method of an object in a manner that will throw a *TypeError* exception if the requested property update cannot be performed. The operation is called with arguments _O_, _P_, and _desc_ where _O_ is the object, _P_ is the property key, and _desc_ is the Property Descriptor for the property. This abstract operation performs the following steps:

+

抽象操作 DefinePropertyOrThrow 通过调用对象内部方法 [[DefineOwnProperty]] 的方式定义一个自身属性,如果更新属性的请求不能执行将抛出 *TypeError* 异常。该操作接受参数 _O_,_P_,_desc_,其中 _O_ 是目标对象,_P_ 是属性 key,_desc_ 是属性的 Property Descriptor。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -99,7 +99,7 @@

DefinePropertyOrThrow ( _O_, _P_, _desc_ )

DeletePropertyOrThrow ( _O_, _P_ )

-

The abstract operation DeletePropertyOrThrow is used to remove a specific own property of an object. It throws an exception if the property is not configurable. The operation is called with arguments _O_ and _P_ where _O_ is the object and _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 DeletePropertyOrThrow 用于删除指定对象属性。如果属性是不可配置的将抛出(*TypeError*)异常。参数 _O_ 表示目标对象,_P_ 是指定需要删除的属性 key。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -112,7 +112,7 @@

DeletePropertyOrThrow ( _O_, _P_ )

GetMethod ( _V_, _P_ )

-

The abstract operation GetMethod is used to get the value of a specific property of an ECMAScript language value when the value of the property is expected to be a function. The operation is called with arguments _V_ and _P_ where _V_ is the ECMAScript language value, _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 GetMethod 用于从一个 ECMAScript 语言值获取指定属性的值,该值应该是一个函数。参数 _V_ 表示一个被操作的 ECMAScript 语言值,_P_ 表示指定的属性 key。该操作的执行步骤如下:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _func_ be ? GetV(_V_, _P_). @@ -125,7 +125,7 @@

GetMethod ( _V_, _P_ )

HasProperty ( _O_, _P_ )

-

The abstract operation HasProperty is used to determine whether an object has a property with the specified property key. The property may be either an own or inherited. A Boolean value is returned. The operation is called with arguments _O_ and _P_ where _O_ is the object and _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 HasProperty 用于确定一个对象是否拥有特定的属性。这个属性可以是自身的也可以是继承的。该抽象操作返回一个 Boolean 值。参数 _O_ 表示目标对象,_P_ 是指定的属性 key。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -136,7 +136,7 @@

HasProperty ( _O_, _P_ )

HasOwnProperty ( _O_, _P_ )

-

The abstract operation HasOwnProperty is used to determine whether an object has an own property with the specified property key. A Boolean value is returned. The operation is called with arguments _O_ and _P_ where _O_ is the object and _P_ is the property key. This abstract operation performs the following steps:

+

抽象操作 HasOwnProperty 用于确定对象自身是否拥有特定的属性。返回一个 Boolean 值。参数 _O_ 表示目标对象,_P_ 是指定的属性 key。该操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: IsPropertyKey(_P_) is *true*. @@ -149,7 +149,7 @@

HasOwnProperty ( _O_, _P_ )

Call ( _F_, _V_ [ , _argumentsList_ ] )

-

The abstract operation Call is used to call the [[Call]] internal method of a function object. The operation is called with arguments _F_, _V_, and optionally _argumentsList_ where _F_ is the function object, _V_ is an ECMAScript language value that is the *this* value of the [[Call]], and _argumentsList_ is the value passed to the corresponding argument of the internal method. If _argumentsList_ is not present, a new empty List is used as its value. This abstract operation performs the following steps:

+

抽象操作 Call 负责调用一个函数对象的 [[Call]] 内部方法。该操作接受一个函数对象 _F_,一个代表 [[Call]] 的 *this* 值的 ECMAScript 语言值 _V_,以及传递给内部方法的可选参数 _argumentsList_。如果 _argument_ 没提供,则默认使用一个空的 List。该操作的执行步骤如下:

1. If _argumentsList_ is not present, set _argumentsList_ to a new empty List. 1. If IsCallable(_F_) is *false*, throw a *TypeError* exception. @@ -160,7 +160,7 @@

Call ( _F_, _V_ [ , _argumentsList_ ] )

Construct ( _F_ [ , _argumentsList_ [ , _newTarget_ ]] )

-

The abstract operation Construct is used to call the [[Construct]] internal method of a function object. The operation is called with arguments _F_, and optionally _argumentsList_, and _newTarget_ where _F_ is the function object. _argumentsList_ and _newTarget_ are the values to be passed as the corresponding arguments of the internal method. If _argumentsList_ is not present, a new empty List is used as its value. If _newTarget_ is not present, _F_ is used as its value. This abstract operation performs the following steps:

+

抽象操作 Construct 用于调用函数对象内部方法 [[Construct]]。该抽象操作使用参数 _F_, 可选参数 _argumentsList_, 以及可选参数 _newTarget_。 其中 _F_ 是一个函数对象. _argumentsList_ 和 _newTarget_ 是作为内部方法相应参数传递的值。 如果 _argumentsList_ 未提供则默认使用一个空 List 作为其值。如果 _newTarget_ 未提供,则使用 _F_ 作为其值。该抽象操作执行步骤如下:

1. If _newTarget_ is not present, set _newTarget_ to _F_. 1. If _argumentsList_ is not present, set _argumentsList_ to a new empty List. @@ -176,7 +176,7 @@

Construct ( _F_ [ , _argumentsList_ [ , _newTarget_ ]] )

SetIntegrityLevel ( _O_, _level_ )

-

The abstract operation SetIntegrityLevel is used to fix the set of own properties of an object. This abstract operation performs the following steps:

+

抽象操作 SetIntegrityLevel 用于固定一个对象自身属性集合。 这个抽象操作执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: _level_ is either `"sealed"` or `"frozen"`. @@ -202,7 +202,7 @@

SetIntegrityLevel ( _O_, _level_ )

TestIntegrityLevel ( _O_, _level_ )

-

The abstract operation TestIntegrityLevel is used to determine if the set of own properties of an object are fixed. This abstract operation performs the following steps:

+

抽象操作 TestIntegrityLevel 用于检查对象自身属性是否被固定。这个抽象操作执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Assert: _level_ is either `"sealed"` or `"frozen"`. @@ -223,7 +223,7 @@

TestIntegrityLevel ( _O_, _level_ )

CreateArrayFromList ( _elements_ )

-

The abstract operation CreateArrayFromList is used to create an Array object whose elements are provided by a List. This abstract operation performs the following steps:

+

抽象操作 CreateArrayFromList 用于创建一个数组对象,其元素由由一个 List 的参数提供。该抽象操作执行以下步骤:

1. Assert: _elements_ is a List whose elements are all ECMAScript language values. 1. Let _array_ be ! ArrayCreate(0). @@ -239,7 +239,7 @@

CreateArrayFromList ( _elements_ )

CreateListFromArrayLike ( _obj_ [ , _elementTypes_ ] )

-

The abstract operation CreateListFromArrayLike is used to create a List value whose elements are provided by the indexed properties of an array-like object, _obj_. The optional argument _elementTypes_ is a List containing the names of ECMAScript Language Types that are allowed for element values of the List that is created. This abstract operation performs the following steps:

+

抽象操作 CreateListFromArrayLike 用于创建一个 List 值,其元素通过类数组对象 _obj_ 属性的索引提供。可选参数 _elementTypes_ 是一个包含 ECMAScript 语言类型的名称列表,表示被创建的 List 元素值被允许的类型。该抽象操作的执行步骤如下:

1. If _elementTypes_ is not present, set _elementTypes_ to « Undefined, Null, Boolean, String, Symbol, Number, Object ». 1. If Type(_obj_) is not Object, throw a *TypeError* exception. @@ -259,7 +259,7 @@

CreateListFromArrayLike ( _obj_ [ , _elementTypes_ ] )

Invoke ( _V_, _P_ [ , _argumentsList_ ] )

-

The abstract operation Invoke is used to call a method property of an ECMAScript language value. The operation is called with arguments _V_, _P_, and optionally _argumentsList_ where _V_ serves as both the lookup point for the property and the *this* value of the call, _P_ is the property key, and _argumentsList_ is the list of arguments values passed to the method. If _argumentsList_ is not present, a new empty List is used as its value. This abstract operation performs the following steps:

+

抽象操作 Invoke 用于调用一个 ECMAScript 语言值的方法属性。该操作用参数 以及可选参数 _argumentsList_ 调用,其中 _V_ 即作为属性的查找点也作为调用的 `this` 值, _P_ 是属性 key, _argumentsList_ 是传递给方法的参数列表。 如果 _argumentsList_ 未提供,则使用一个空的 List 作为他的值。该抽象操作执行步骤如下:

1. Assert: IsPropertyKey(_P_) is *true*. @@ -272,7 +272,7 @@

Invoke ( _V_, _P_ [ , _argumentsList_ ] )

OrdinaryHasInstance ( _C_, _O_ )

-

The abstract operation OrdinaryHasInstance implements the default algorithm for determining if an object _O_ inherits from the instance object inheritance path provided by constructor _C_. This abstract operation performs the following steps:

+

抽象操作 OrdinaryHasInstance 执行默认算法,确定对象 _O_ 是否继承自构找函数 _C_ 提供的实例对象继承路劲。该抽象操作执行步骤如下:

1. If IsCallable(_C_) is *false*, return *false*. 1. If _C_ has a [[BoundTargetFunction]] internal slot, then @@ -291,7 +291,7 @@

OrdinaryHasInstance ( _C_, _O_ )

SpeciesConstructor ( _O_, _defaultConstructor_ )

-

The abstract operation SpeciesConstructor is used to retrieve the constructor that should be used to create new objects that are derived from the argument object _O_. The _defaultConstructor_ argument is the constructor to use if a constructor @@species property cannot be found starting from _O_. This abstract operation performs the following steps:

+

抽象操作 SpeciesConstructor 用于检索用于创建新对象的构找函数,该新对象是从参数对象 _O_ 派生的。如果在对象 _O_ 属性中不能找到一个 constructor@@species 属性,则使用 _defaultConstructor_ 作为构造函数。该抽象操作的执行步骤如下:

1. Assert: Type(_O_) is Object. 1. Let _C_ be ? Get(_O_, `"constructor"`). @@ -306,7 +306,7 @@

SpeciesConstructor ( _O_, _defaultConstructor_ )

EnumerableOwnProperties ( _O_, _kind_ )

-

When the abstract operation EnumerableOwnProperties is called with Object _O_ and String _kind_ the following steps are taken:

+

当使用对象 _O_ 和字符串 _kind_ 作为参数调用抽象操作 EnumerableOwnProperties 时执行以下步骤:

1. Assert: Type(_O_) is Object. 1. Let _ownKeys_ be ? _O_.[[OwnPropertyKeys]](). @@ -331,7 +331,7 @@

EnumerableOwnProperties ( _O_, _kind_ )

GetFunctionRealm ( _obj_ )

-

The abstract operation GetFunctionRealm with argument _obj_ performs the following steps:

+

参数为 _obj_ 的抽象操作 GetFunctionRealm 执行以下步骤:

1. Assert: _obj_ is a callable object. 1. If _obj_ has a [[Realm]] internal slot, then @@ -346,7 +346,7 @@

GetFunctionRealm ( _obj_ )

1. Return the current Realm Record.
-

Step 5 will only be reached if _obj_ is a non-standard function exotic object that does not have a [[Realm]] internal slot.

+

第五步只有在 _obj_ 是一个没有 [[Realm]] 内部槽的非标准函数怪异对象时执行。

\ No newline at end of file