From 9275c9587b505aa2f78e30ddbdaf6cbe38f6bfba Mon Sep 17 00:00:00 2001 From: Michael Dyck Date: Thu, 14 May 2020 11:18:12 -0400 Subject: [PATCH] Editorial: Reword existing preambles for internal methods ... into the format set out in issue #1981. --- spec.html | 112 +++++++++++++++++++++++++++--------------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/spec.html b/spec.html index 2a9041b1d8a..c3b0f6c20bc 100644 --- a/spec.html +++ b/spec.html @@ -7866,7 +7866,7 @@

Ordinary Object Internal Methods and Internal Slots

[[GetPrototypeOf]] ( )

-

When the [[GetPrototypeOf]] internal method of _O_ is called, the following steps are taken:

+

The [[GetPrototypeOf]] internal method of ordinary object _O_ takes no arguments. It performs the following steps when called:

1. Return ! OrdinaryGetPrototypeOf(_O_). @@ -7882,7 +7882,7 @@

OrdinaryGetPrototypeOf ( _O_ )

[[SetPrototypeOf]] ( _V_ )

-

When the [[SetPrototypeOf]] internal method of _O_ is called with argument _V_, the following steps are taken:

+

The [[SetPrototypeOf]] internal method of ordinary object _O_ takes argument _V_. It performs the following steps when called:

1. Return ! OrdinarySetPrototypeOf(_O_, _V_). @@ -7915,7 +7915,7 @@

OrdinarySetPrototypeOf ( _O_, _V_ )

[[IsExtensible]] ( )

-

When the [[IsExtensible]] internal method of _O_ is called, the following steps are taken:

+

The [[IsExtensible]] internal method of ordinary object _O_ takes no arguments. It performs the following steps when called:

1. Return ! OrdinaryIsExtensible(_O_). @@ -7931,7 +7931,7 @@

OrdinaryIsExtensible ( _O_ )

[[PreventExtensions]] ( )

-

When the [[PreventExtensions]] internal method of _O_ is called, the following steps are taken:

+

The [[PreventExtensions]] internal method of ordinary object _O_ takes no arguments. It performs the following steps when called:

1. Return ! OrdinaryPreventExtensions(_O_). @@ -7948,7 +7948,7 @@

OrdinaryPreventExtensions ( _O_ )

[[GetOwnProperty]] ( _P_ )

-

When the [[GetOwnProperty]] internal method of _O_ is called with property key _P_, the following steps are taken:

+

The [[GetOwnProperty]] internal method of ordinary object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Return ! OrdinaryGetOwnProperty(_O_, _P_). @@ -7977,7 +7977,7 @@

OrdinaryGetOwnProperty ( _O_, _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of _O_ is called with property key _P_ and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of ordinary object _O_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Return ? OrdinaryDefineOwnProperty(_O_, _P_, _Desc_). @@ -8049,7 +8049,7 @@

ValidateAndApplyPropertyDescriptor ( _O_, _P_, _extensible_, _Desc_, _curren

[[HasProperty]] ( _P_ )

-

When the [[HasProperty]] internal method of _O_ is called with property key _P_, the following steps are taken:

+

The [[HasProperty]] internal method of ordinary object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Return ? OrdinaryHasProperty(_O_, _P_). @@ -8071,7 +8071,7 @@

OrdinaryHasProperty ( _O_, _P_ )

[[Get]] ( _P_, _Receiver_ )

-

When the [[Get]] internal method of _O_ is called with property key _P_ and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Get]] internal method of ordinary object _O_ takes arguments _P_ (a property key) and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Return ? OrdinaryGet(_O_, _P_, _Receiver_). @@ -8099,7 +8099,7 @@

OrdinaryGet ( _O_, _P_, _Receiver_ )

[[Set]] ( _P_, _V_, _Receiver_ )

-

When the [[Set]] internal method of _O_ is called with property key _P_, value _V_, and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Set]] internal method of ordinary object _O_ takes arguments _P_ (a property key), _V_ (an ECMAScript language value), and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Return ? OrdinarySet(_O_, _P_, _V_, _Receiver_). @@ -8150,7 +8150,7 @@

OrdinarySetWithOwnDescriptor ( _O_, _P_, _V_, _Receiver_, _ownDesc_ )

[[Delete]] ( _P_ )

-

When the [[Delete]] internal method of _O_ is called with property key _P_, the following steps are taken:

+

The [[Delete]] internal method of ordinary object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Return ? OrdinaryDelete(_O_, _P_). @@ -8172,7 +8172,7 @@

OrdinaryDelete ( _O_, _P_ )

[[OwnPropertyKeys]] ( )

-

When the [[OwnPropertyKeys]] internal method of _O_ is called, the following steps are taken:

+

The [[OwnPropertyKeys]] internal method of ordinary object _O_ takes no arguments. It performs the following steps when called:

1. Return ! OrdinaryOwnPropertyKeys(_O_). @@ -8393,7 +8393,7 @@

ECMAScript Function Objects

[[Call]] ( _thisArgument_, _argumentsList_ )

-

The [[Call]] internal method for an ECMAScript function object _F_ is called with parameters _thisArgument_ and _argumentsList_, a List of ECMAScript language values. The following steps are taken:

+

The [[Call]] internal method of an ECMAScript function object _F_ takes arguments _thisArgument_ and _argumentsList_ (a List of ECMAScript language values). It performs the following steps when called:

1. Assert: _F_ is an ECMAScript function object. 1. If _F_.[[IsClassConstructor]] is *true*, throw a *TypeError* exception. @@ -8466,7 +8466,7 @@

OrdinaryCallEvaluateBody ( _F_, _argumentsList_ )

[[Construct]] ( _argumentsList_, _newTarget_ )

-

The [[Construct]] internal method for an ECMAScript function object _F_ is called with parameters _argumentsList_ and _newTarget_. _argumentsList_ is a possibly empty List of ECMAScript language values. The following steps are taken:

+

The [[Construct]] internal method of an ECMAScript function object _F_ takes arguments _argumentsList_ (a List of ECMAScript language values) and _newTarget_. It performs the following steps when called:

1. Assert: _F_ is an ECMAScript function object. 1. Assert: Type(_newTarget_) is Object. @@ -8747,7 +8747,7 @@

Built-in Function Objects

[[Call]] ( _thisArgument_, _argumentsList_ )

-

The [[Call]] internal method for a built-in function object _F_ is called with parameters _thisArgument_ and _argumentsList_, a List of ECMAScript language values. The following steps are taken:

+

The [[Call]] internal method of a built-in function object _F_ takes arguments _thisArgument_ and _argumentsList_ (a List of ECMAScript language values). It performs the following steps when called:

1. Let _callerContext_ be the running execution context. 1. If _callerContext_ is not already suspended, suspend _callerContext_. @@ -8769,7 +8769,7 @@

[[Call]] ( _thisArgument_, _argumentsList_ )

[[Construct]] ( _argumentsList_, _newTarget_ )

-

The [[Construct]] internal method for built-in function object _F_ is called with parameters _argumentsList_ and _newTarget_. The steps performed are the same as [[Call]] (see ) except that step 10 is replaced by:

+

The [[Construct]] internal method of built-in function object _F_ takes arguments _argumentsList_ (a List of ECMAScript language values) and _newTarget_. The steps performed are the same as [[Call]] (see ) except that step 10 is replaced by:

10. Let _result_ be the Completion Record that is the result of evaluating _F_ in a manner that conforms to the specification of _F_. The *this* value is uninitialized, _argumentsList_ provides the named parameters, and _newTarget_ provides the NewTarget value. @@ -8858,7 +8858,7 @@

Bound Function Exotic Objects

[[Call]] ( _thisArgument_, _argumentsList_ )

-

When the [[Call]] internal method of a bound function exotic object, _F_ is called with parameters _thisArgument_ and _argumentsList_, a List of ECMAScript language values, the following steps are taken:

+

The [[Call]] internal method of a bound function exotic object _F_ takes arguments _thisArgument_ and _argumentsList_ (a List of ECMAScript language values). It performs the following steps when called:

1. Let _target_ be _F_.[[BoundTargetFunction]]. 1. Let _boundThis_ be _F_.[[BoundThis]]. @@ -8870,7 +8870,7 @@

[[Call]] ( _thisArgument_, _argumentsList_ )

[[Construct]] ( _argumentsList_, _newTarget_ )

-

When the [[Construct]] internal method of a bound function exotic object, _F_ is called with a list of arguments _argumentsList_ and _newTarget_, the following steps are taken:

+

The [[Construct]] internal method of a bound function exotic object _F_ takes arguments _argumentsList_ (a List of ECMAScript language values) and _newTarget_. It performs the following steps when called:

1. Let _target_ be _F_.[[BoundTargetFunction]]. 1. Assert: IsConstructor(_target_) is *true*. @@ -8912,7 +8912,7 @@

Array Exotic Objects

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of an Array exotic object _A_ is called with property key _P_, and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of an Array exotic object _A_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. If _P_ is *"length"*, then @@ -9031,7 +9031,7 @@

String Exotic Objects

[[GetOwnProperty]] ( _P_ )

-

When the [[GetOwnProperty]] internal method of a String exotic object _S_ is called with property key _P_, the following steps are taken:

+

The [[GetOwnProperty]] internal method of a String exotic object _S_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _desc_ be OrdinaryGetOwnProperty(_S_, _P_). @@ -9042,7 +9042,7 @@

[[GetOwnProperty]] ( _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of a String exotic object _S_ is called with property key _P_, and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of a String exotic object _S_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _stringDesc_ be ! StringGetOwnProperty(_S_, _P_). @@ -9055,7 +9055,7 @@

[[DefineOwnProperty]] ( _P_, _Desc_ )

[[OwnPropertyKeys]] ( )

-

When the [[OwnPropertyKeys]] internal method of a String exotic object _O_ is called, the following steps are taken:

+

The [[OwnPropertyKeys]] internal method of a String exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _keys_ be a new empty List. 1. Let _str_ be _O_.[[StringData]]. @@ -9139,7 +9139,7 @@

Arguments Exotic Objects

[[GetOwnProperty]] ( _P_ )

-

The [[GetOwnProperty]] internal method of an arguments exotic object _args_ when called with a property key _P_ performs the following steps:

+

The [[GetOwnProperty]] internal method of an arguments exotic object _args_ takes argument _P_ (a property key). It performs the following steps when called:

1. Let _desc_ be OrdinaryGetOwnProperty(_args_, _P_). 1. If _desc_ is *undefined*, return _desc_. @@ -9153,7 +9153,7 @@

[[GetOwnProperty]] ( _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

The [[DefineOwnProperty]] internal method of an arguments exotic object _args_ when called with a property key _P_ and Property Descriptor _Desc_ performs the following steps:

+

The [[DefineOwnProperty]] internal method of an arguments exotic object _args_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Let _map_ be _args_.[[ParameterMap]]. 1. Let _isMapped_ be HasOwnProperty(_map_, _P_). @@ -9179,7 +9179,7 @@

[[DefineOwnProperty]] ( _P_, _Desc_ )

[[Get]] ( _P_, _Receiver_ )

-

The [[Get]] internal method of an arguments exotic object _args_ when called with a property key _P_ and ECMAScript language value _Receiver_ performs the following steps:

+

The [[Get]] internal method of an arguments exotic object _args_ takes arguments _P_ (a property key) and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Let _map_ be _args_.[[ParameterMap]]. 1. Let _isMapped_ be ! HasOwnProperty(_map_, _P_). @@ -9193,7 +9193,7 @@

[[Get]] ( _P_, _Receiver_ )

[[Set]] ( _P_, _V_, _Receiver_ )

-

The [[Set]] internal method of an arguments exotic object _args_ when called with property key _P_, value _V_, and ECMAScript language value _Receiver_ performs the following steps:

+

The [[Set]] internal method of an arguments exotic object _args_ takes arguments _P_ (a property key), _V_ (an ECMAScript language value), and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. If SameValue(_args_, _Receiver_) is *false*, then 1. Let _isMapped_ be *false*. @@ -9209,7 +9209,7 @@

[[Set]] ( _P_, _V_, _Receiver_ )

[[Delete]] ( _P_ )

-

The [[Delete]] internal method of an arguments exotic object _args_ when called with a property key _P_ performs the following steps:

+

The [[Delete]] internal method of an arguments exotic object _args_ takes argument _P_ (a property key). It performs the following steps when called:

1. Let _map_ be _args_.[[ParameterMap]]. 1. Let _isMapped_ be ! HasOwnProperty(_map_, _P_). @@ -9332,7 +9332,7 @@

Integer-Indexed Exotic Objects

[[GetOwnProperty]] ( _P_ )

-

When the [[GetOwnProperty]] internal method of an Integer-Indexed exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[GetOwnProperty]] internal method of an Integer-Indexed exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Assert: _O_ is an Integer-Indexed exotic object. @@ -9348,7 +9348,7 @@

[[GetOwnProperty]] ( _P_ )

[[HasProperty]] ( _P_ )

-

When the [[HasProperty]] internal method of an Integer-Indexed exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[HasProperty]] internal method of an Integer-Indexed exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Assert: _O_ is an Integer-Indexed exotic object. @@ -9365,7 +9365,7 @@

[[HasProperty]] ( _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of an Integer-Indexed exotic object _O_ is called with property key _P_, and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of an Integer-Indexed exotic object _O_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Assert: _O_ is an Integer-Indexed exotic object. @@ -9387,7 +9387,7 @@

[[DefineOwnProperty]] ( _P_, _Desc_ )

[[Get]] ( _P_, _Receiver_ )

-

When the [[Get]] internal method of an Integer-Indexed exotic object _O_ is called with property key _P_ and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Get]] internal method of an Integer-Indexed exotic object _O_ takes arguments _P_ (a property key) and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. If Type(_P_) is String, then @@ -9400,7 +9400,7 @@

[[Get]] ( _P_, _Receiver_ )

[[Set]] ( _P_, _V_, _Receiver_ )

-

When the [[Set]] internal method of an Integer-Indexed exotic object _O_ is called with property key _P_, value _V_, and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Set]] internal method of an Integer-Indexed exotic object _O_ takes arguments _P_ (a property key), _V_ (an ECMAScript language value), and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. If Type(_P_) is String, then @@ -9413,7 +9413,7 @@

[[Set]] ( _P_, _V_, _Receiver_ )

[[OwnPropertyKeys]] ( )

-

When the [[OwnPropertyKeys]] internal method of an Integer-Indexed exotic object _O_ is called, the following steps are taken:

+

The [[OwnPropertyKeys]] internal method of an Integer-Indexed exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _keys_ be a new empty List. 1. Assert: _O_ is an Integer-Indexed exotic object. @@ -9557,7 +9557,7 @@

Module Namespace Exotic Objects

[[SetPrototypeOf]] ( _V_ )

-

When the [[SetPrototypeOf]] internal method of a module namespace exotic object _O_ is called with argument _V_, the following steps are taken:

+

The [[SetPrototypeOf]] internal method of a module namespace exotic object _O_ takes argument _V_. It performs the following steps when called:

1. Return ? SetImmutablePrototype(_O_, _V_). @@ -9565,7 +9565,7 @@

[[SetPrototypeOf]] ( _V_ )

[[IsExtensible]] ( )

-

When the [[IsExtensible]] internal method of a module namespace exotic object _O_ is called, the following steps are taken:

+

The [[IsExtensible]] internal method of a module namespace exotic object _O_ takes no arguments. It performs the following steps when called:

1. Return *false*. @@ -9573,7 +9573,7 @@

[[IsExtensible]] ( )

[[PreventExtensions]] ( )

-

When the [[PreventExtensions]] internal method of a module namespace exotic object _O_ is called, the following steps are taken:

+

The [[PreventExtensions]] internal method of a module namespace exotic object _O_ takes no arguments. It performs the following steps when called:

1. Return *true*. @@ -9581,7 +9581,7 @@

[[PreventExtensions]] ( )

[[GetOwnProperty]] ( _P_ )

-

When the [[GetOwnProperty]] internal method of a module namespace exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[GetOwnProperty]] internal method of a module namespace exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. If Type(_P_) is Symbol, return OrdinaryGetOwnProperty(_O_, _P_). 1. Let _exports_ be _O_.[[Exports]]. @@ -9593,7 +9593,7 @@

[[GetOwnProperty]] ( _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of a module namespace exotic object _O_ is called with property key _P_ and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of a module namespace exotic object _O_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. If Type(_P_) is Symbol, return OrdinaryDefineOwnProperty(_O_, _P_, _Desc_). 1. Let _current_ be ? _O_.[[GetOwnProperty]](_P_). @@ -9609,7 +9609,7 @@

[[DefineOwnProperty]] ( _P_, _Desc_ )

[[HasProperty]] ( _P_ )

-

When the [[HasProperty]] internal method of a module namespace exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[HasProperty]] internal method of a module namespace exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. If Type(_P_) is Symbol, return OrdinaryHasProperty(_O_, _P_). 1. Let _exports_ be _O_.[[Exports]]. @@ -9620,7 +9620,7 @@

[[HasProperty]] ( _P_ )

[[Get]] ( _P_, _Receiver_ )

-

When the [[Get]] internal method of a module namespace exotic object _O_ is called with property key _P_ and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Get]] internal method of a module namespace exotic object _O_ takes arguments _P_ (a property key) and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. If Type(_P_) is Symbol, then @@ -9645,7 +9645,7 @@

[[Get]] ( _P_, _Receiver_ )

[[Set]] ( _P_, _V_, _Receiver_ )

-

When the [[Set]] internal method of a module namespace exotic object _O_ is called with property key _P_, value _V_, and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Set]] internal method of a module namespace exotic object _O_ takes arguments _P_ (a property key), _V_ (an ECMAScript language value), and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Return *false*. @@ -9653,7 +9653,7 @@

[[Set]] ( _P_, _V_, _Receiver_ )

[[Delete]] ( _P_ )

-

When the [[Delete]] internal method of a module namespace exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[Delete]] internal method of a module namespace exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. If Type(_P_) is Symbol, then @@ -9666,7 +9666,7 @@

[[Delete]] ( _P_ )

[[OwnPropertyKeys]] ( )

-

When the [[OwnPropertyKeys]] internal method of a module namespace exotic object _O_ is called, the following steps are taken:

+

The [[OwnPropertyKeys]] internal method of a module namespace exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _exports_ be a copy of _O_.[[Exports]]. 1. Let _symbolKeys_ be ! OrdinaryOwnPropertyKeys(_O_). @@ -9708,7 +9708,7 @@

Immutable Prototype Exotic Objects

[[SetPrototypeOf]] ( _V_ )

-

When the [[SetPrototypeOf]] internal method of an immutable prototype exotic object _O_ is called with argument _V_, the following steps are taken:

+

The [[SetPrototypeOf]] internal method of an immutable prototype exotic object _O_ takes argument _V_. It performs the following steps when called:

1. Return ? SetImmutablePrototype(_O_, _V_). @@ -9858,7 +9858,7 @@

Proxy Object Internal Methods and Internal Slots

[[GetPrototypeOf]] ( )

-

When the [[GetPrototypeOf]] internal method of a Proxy exotic object _O_ is called, the following steps are taken:

+

The [[GetPrototypeOf]] internal method of a Proxy exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception. @@ -9890,7 +9890,7 @@

[[GetPrototypeOf]] ( )

[[SetPrototypeOf]] ( _V_ )

-

When the [[SetPrototypeOf]] internal method of a Proxy exotic object _O_ is called with argument _V_, the following steps are taken:

+

The [[SetPrototypeOf]] internal method of a Proxy exotic object _O_ takes argument _V_. It performs the following steps when called:

1. Assert: Either Type(_V_) is Object or Type(_V_) is Null. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -9923,7 +9923,7 @@

[[SetPrototypeOf]] ( _V_ )

[[IsExtensible]] ( )

-

When the [[IsExtensible]] internal method of a Proxy exotic object _O_ is called, the following steps are taken:

+

The [[IsExtensible]] internal method of a Proxy exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception. @@ -9952,7 +9952,7 @@

[[IsExtensible]] ( )

[[PreventExtensions]] ( )

-

When the [[PreventExtensions]] internal method of a Proxy exotic object _O_ is called, the following steps are taken:

+

The [[PreventExtensions]] internal method of a Proxy exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception. @@ -9982,7 +9982,7 @@

[[PreventExtensions]] ( )

[[GetOwnProperty]] ( _P_ )

-

When the [[GetOwnProperty]] internal method of a Proxy exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[GetOwnProperty]] internal method of a Proxy exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10040,7 +10040,7 @@

[[GetOwnProperty]] ( _P_ )

[[DefineOwnProperty]] ( _P_, _Desc_ )

-

When the [[DefineOwnProperty]] internal method of a Proxy exotic object _O_ is called with property key _P_ and Property Descriptor _Desc_, the following steps are taken:

+

The [[DefineOwnProperty]] internal method of a Proxy exotic object _O_ takes arguments _P_ (a property key) and _Desc_ (a Property Descriptor). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10092,7 +10092,7 @@

[[DefineOwnProperty]] ( _P_, _Desc_ )

[[HasProperty]] ( _P_ )

-

When the [[HasProperty]] internal method of a Proxy exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[HasProperty]] internal method of a Proxy exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10129,7 +10129,7 @@

[[HasProperty]] ( _P_ )

[[Get]] ( _P_, _Receiver_ )

-

When the [[Get]] internal method of a Proxy exotic object _O_ is called with property key _P_ and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Get]] internal method of a Proxy exotic object _O_ takes arguments _P_ (a property key) and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10163,7 +10163,7 @@

[[Get]] ( _P_, _Receiver_ )

[[Set]] ( _P_, _V_, _Receiver_ )

-

When the [[Set]] internal method of a Proxy exotic object _O_ is called with property key _P_, value _V_, and ECMAScript language value _Receiver_, the following steps are taken:

+

The [[Set]] internal method of a Proxy exotic object _O_ takes arguments _P_ (a property key), _V_ (an ECMAScript language value), and _Receiver_ (an ECMAScript language value). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10201,7 +10201,7 @@

[[Set]] ( _P_, _V_, _Receiver_ )

[[Delete]] ( _P_ )

-

When the [[Delete]] internal method of a Proxy exotic object _O_ is called with property key _P_, the following steps are taken:

+

The [[Delete]] internal method of a Proxy exotic object _O_ takes argument _P_ (a property key). It performs the following steps when called:

1. Assert: IsPropertyKey(_P_) is *true*. 1. Let _handler_ be _O_.[[ProxyHandler]]. @@ -10238,7 +10238,7 @@

[[Delete]] ( _P_ )

[[OwnPropertyKeys]] ( )

-

When the [[OwnPropertyKeys]] internal method of a Proxy exotic object _O_ is called, the following steps are taken:

+

The [[OwnPropertyKeys]] internal method of a Proxy exotic object _O_ takes no arguments. It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception. @@ -10299,7 +10299,7 @@

[[OwnPropertyKeys]] ( )

[[Call]] ( _thisArgument_, _argumentsList_ )

-

The [[Call]] internal method of a Proxy exotic object _O_ is called with parameters _thisArgument_ and _argumentsList_, a List of ECMAScript language values. The following steps are taken:

+

The [[Call]] internal method of a Proxy exotic object _O_ takes arguments _thisArgument_ and _argumentsList_ (a List of ECMAScript language values). It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception. @@ -10318,7 +10318,7 @@

[[Call]] ( _thisArgument_, _argumentsList_ )

[[Construct]] ( _argumentsList_, _newTarget_ )

-

The [[Construct]] internal method of a Proxy exotic object _O_ is called with parameters _argumentsList_ which is a possibly empty List of ECMAScript language values and _newTarget_. The following steps are taken:

+

The [[Construct]] internal method of a Proxy exotic object _O_ takes arguments _argumentsList_ (a List of ECMAScript language values) and _newTarget_. It performs the following steps when called:

1. Let _handler_ be _O_.[[ProxyHandler]]. 1. If _handler_ is *null*, throw a *TypeError* exception.