diff --git a/index.bs b/index.bs index bbc814dc..63b18cae 100644 --- a/index.bs +++ b/index.bs @@ -51,28 +51,53 @@ urlPrefix: https://tc39.github.io/ecma262/; spec: ECMA-262 text: SyntaxError; url: sec-native-error-types-used-in-this-standard-syntaxerror text: TypeError; url: sec-native-error-types-used-in-this-standard-typeerror type: abstract-op + text: ArrayCreate; url: sec-arraycreate + text: Call; url: sec-call text: CanonicalNumericIndexString; url: sec-canonicalnumericindexstring - type: dfn - text: NumericLiteral; url: sec-literals-numeric-literals - text: ECMAScript error objects; url: sec-error-objects + text: Completion; url: sec-completion + text: Construct; url: sec-construct + text: CreateArrayIterator; url: sec-createarrayiterator + text: CreateBuiltinFunction; url: sec-createbuiltinfunction + text: CreateDataProperty; url: sec-createdataproperty + text: CreateIterResultObject; url: sec-createiterresultobject + text: CreateMapIterator; url: sec-createmapiterator + text: CreateSetIterator; url: sec-createsetiterator + text: DetachArrayBuffer; url: sec-detacharraybuffer + text: Get; url: sec-get-o-p + text: GetIterator; url: sec-getiterator + text: GetMethod; url: sec-getmethod + text: IsAccessorDescriptor; url: sec-isaccessordescriptor + text: IsCallable; url: sec-iscallable + text: IsConstructor; url: sec-isconstructor + text: IsDataDescriptor; url: sec-isdatadescriptor + text: IsDetachedBuffer; url: sec-isdetachedbuffer + text: IsSharedArrayBuffer; url: sec-issharedarraybuffer + text: IteratorStep; url: sec-iteratorstep + text: IteratorValue; url: sec-iteratorvalue + text: NormalCompletion; url: sec-normalcompletion + text: ObjectCreate; url: sec-objectcreate + text: OrdinaryDefineOwnProperty; url: sec-ordinarydefineownproperty + text: OrdinaryGetOwnProperty; url: sec-ordinarygetownproperty + text: OrdinaryPreventExtensions; url: sec-ordinarypreventextensions + text: OrdinarySetWithOwnDescriptor; url: sec-ordinarysetwithowndescriptor + text: Set; url: sec-set-o-p-v-throw + text: SetFunctionName; url: sec-setfunctionname + text: SetIntegrityLevel; url: sec-setintegritylevel text: ToBoolean; url: sec-toboolean + text: ToInt32; url: sec-toint32 text: ToNumber; url: sec-tonumber + text: ToObject; url: sec-toobject + text: ToString; url: sec-tostring text: ToUint16; url: sec-touint16 - text: ToInt32; url: sec-toint32 text: ToUint32; url: sec-touint32 - text: ToString; url: sec-tostring - text: ToObject; url: sec-toobject - text: isFinite; url: sec-isfinite-number - text: IsAccessorDescriptor; url: sec-isaccessordescriptor - text: IsDataDescriptor; url: sec-isdatadescriptor - url: sec-ecmascript-data-types-and-values - text: Type - text: Type(x) - text: sign; url: eqn-sign + text: Type; url: sec-ecmascript-data-types-and-values + text: abs; url: eqn-abs text: floor; url: eqn-floor - text: min; url: eqn-min text: max; url: eqn-max - text: abs; url: eqn-abs + text: min; url: eqn-min + type: dfn + text: NumericLiteral; url: sec-literals-numeric-literals + text: ECMAScript error objects; url: sec-error-objects text: modulo; url: eqn-modulo url: sec-algorithm-conventions text: ECMA-262 section 5.2 @@ -81,9 +106,7 @@ urlPrefix: https://tc39.github.io/ecma262/; spec: ECMA-262 text: ! text: ? text: element; url: sec-ecmascript-language-types-string-type - url: sec-iscallable - text: IsCallable - text: callable; for: ECMAScript + text: callable; for: ECMAScript; url: sec-iscallable url: sec-well-known-intrinsic-objects text: %ArrayPrototype% text: %ArrayProto_values% @@ -98,40 +121,17 @@ urlPrefix: https://tc39.github.io/ecma262/; spec: ECMA-262 text: %Promise%; url: sec-promise-constructor text: Property Descriptor; url: sec-property-descriptor-specification-type text: array index; url: array-index - text: OrdinaryGetOwnProperty; url: sec-ordinarygetownproperty - text: OrdinaryDefineOwnProperty; url: sec-ordinarydefineownproperty - text: OrdinaryPreventExtensions; url: sec-ordinarypreventextensions - text: OrdinarySetWithOwnDescriptor; url: sec-ordinarysetwithowndescriptor text: equally close values; url: sec-ecmascript-language-types-number-type text: internal slot; url: sec-object-internal-methods-and-internal-slots text: JavaScript execution context stack; url: execution-context-stack text: running JavaScript execution context; url: running-execution-context - text: GetIterator; url: sec-getiterator - text: IteratorStep; url: sec-iteratorstep - text: NormalCompletion; url: sec-normalcompletion - text: IteratorValue; url: sec-iteratorvalue url: sec-well-known-symbols text: @@iterator text: @@toStringTag - text: CreateArrayIterator; url: sec-createarrayiterator - text: CreateIterResultObject; url: sec-createiterresultobject - text: CreateMapIterator; url: sec-createmapiterator - text: CreateSetIterator; url: sec-createsetiterator - text: ArrayCreate; url: sec-arraycreate - text: CreateDataProperty; url: sec-createdataproperty - text: DetachArrayBuffer; url: sec-detacharraybuffer - text: IsDetachedBuffer; url: sec-isdetachedbuffer - text: IsSharedArrayBuffer; url: sec-issharedarraybuffer - text: SetIntegrityLevel; url: sec-setintegritylevel url: sec-array-iterator-objects text: array iterator object text: array iterator objects - text: Call; url: sec-call - text: Get; url: sec-get-o-p - text: Set; url: sec-set-o-p-v-throw text: constructor; url: constructor - text: IsConstructor; url: sec-isconstructor - text: Construct; url: sec-construct text: own property; url: sec-own-property text: enumerable; url: sec-property-attributes text: DefinePropertyOrThrow; url: sec-definepropertyorthrow @@ -143,18 +143,17 @@ urlPrefix: https://tc39.github.io/ecma262/; spec: ECMA-262 text: Completion text: Completion Record text: abrupt completion - text: ObjectCreate; url: sec-objectcreate - text: CreateBuiltinFunction; url: sec-createbuiltinfunction - text: SetFunctionName; url: sec-setfunctionname text: immutable prototype exotic object; url: sec-immutable-prototype-exotic-objects - text: sections 9.1; url: sec-ordinary-object-internal-methods-and-internal-slots - text: 9.3.1; url: sec-built-in-function-objects-call-thisargument-argumentslist - text: ECMA-262 section 9.3; url: sec-built-in-function-objects + url: sec-ordinary-object-internal-methods-and-internal-slots + text: ECMA-262 §9.1 + for: ordinary object + text: internal methods + text: internal slots + text: ECMA-262 §9.3; url: sec-built-in-function-objects text: built-in function object; url: sec-built-in-function-objects text: function object; url: function-object text: Array methods; url: sec-properties-of-the-array-prototype-object text: typed arrays; url: sec-typedarray-objects - text: GetMethod; url: sec-getmethod text: @@unscopables; url: sec-well-known-symbols text: NewTarget; url: sec-built-in-function-objects text: Number Type; url: sec-ecmascript-language-types-number-type @@ -1224,7 +1223,7 @@ lie outside the valid range of values for its type, as given in 1. Let |S| be the sequence of characters matched by the float token. 1. Let |result| be the Mathematical Value that would be obtained if - |S| were parsed as an ECMAScript [=NumericLiteral=]. + |S| were parsed as an ECMAScript [=NumericLiteral=]. 1. If the float token is being used as the value for a {{float}} or {{unrestricted float}}, then the value of the float token @@ -2941,7 +2940,7 @@ the same operation or constructor. the argument on which the ellipsis appears counts as a single argument. Note: So void f(long x, long... y); is considered to be declared to take two arguments. - 1. Let |max| be [=max=](|maxarg|, |N|). + 1. Let |max| be max(|maxarg|, |N|). 1. [=set/For each=] operation, extended attribute, or callback function |X| in |F|: 1. Let |arguments| be the [=list=] of arguments |X| is declared to take. 1. Let |n| be the [=list/size=] of |arguments|. @@ -5747,7 +5746,7 @@ The following extended attributes are applicable
The extended attributes associated with - a [=type=] |type| are determined as follows: + an IDL type |type| are determined as follows: 1. Let |extended attributes| be a new empty [=ordered set|set=]. 1. If |type| appears as part of a @@ -5828,7 +5827,7 @@ The following extended attributes are applicable 1. Return |extended attributes|.
-For any [=type=], the [=extended attributes associated with=] it must only contain +For any type, the [=extended attributes associated with=] it must only contain [=extended attributes=] that are [=applicable to types=]. The [=type name=] of a type associated with [=extended attributes=] is the concatenation of the @@ -5971,7 +5970,7 @@ type is the concatenation of the type name for |T| and the string An extended attribute is an annotation that can appear on definitions, -[=types=], +types as [=annotated types=], [=interface members=], [=namespace members=], [=dictionary members=], @@ -6187,36 +6186,35 @@ five forms are allowed. This section describes how definitions written with the IDL defined in [[#idl]] correspond to particular constructs -in ECMAScript, as defined by the ECMAScript Language Specification 6th Edition +in ECMAScript, as defined by the ECMAScript Language Specification [[!ECMA-262]]. -Objects defined in this section have internal properties as described in -ECMA-262 [=sections 9.1=] and -[=9.3.1=] unless otherwise specified, in which case one or -more of the following are redefined in accordance with the rules for exotic objects: -\[[Call]], -\[[Set]], -\[[DefineOwnProperty]], -\[[GetOwnProperty]], and -\[[Delete]]. +Unless otherwise specified, objects defined in this section are ordinary objects as described in +[=ECMA-262 §9.1|ECMA-262 §9.1 Ordinary object internal methods and internal slots=], and if the +object is a [=function object=], [=ECMA-262 §9.3|§9.3 Built-in function objects=]. -Other specifications may override the definitions -of any internal method of a [=platform object=] -that is an instance of an [=interface=]. +This section may redefine certain internal methods and/or internal slots of objects. Other +specifications may also override the definitions of any internal method and/or internal slots of a +[=platform object=] that is an instance of an [=interface=]. These objects with changed semantics +shall be treated in accordance with the rules for exotic objects.

As overriding internal ECMAScript object methods is a low level operation and can result in objects that behave differently from ordinary objects, this facility should not be used unless necessary - for security or compatibility. The expectation is that this will be used - for Location objects - and possibly WindowProxy objects. + for security or compatibility. This is currently used to define the + {{HTMLAllCollection}} and {{Location}} interfaces. [[HTML]]

-Unless otherwise specified, the \[[Extensible]] internal property +Unless otherwise specified, exotic objects defined in this section and other specifications have the +same [=ordinary object/internal slots=] as ordinary objects, and all of the internal methods for +which alternative definitions are not given are the same as [=ordinary object/internal +methods|those=] of ordinary objects. + +Unless otherwise specified, the \[[Extensible]] internal slot of objects defined in this section has the value true. -Unless otherwise specified, the \[[Prototype]] internal property +Unless otherwise specified, the \[[Prototype]] internal slot of objects defined in this section is [=%ObjectPrototype%=]. Some objects described in this section are defined to have a class string, @@ -6231,23 +6229,10 @@ and whose value is the specified string. and configurable.

-If an object is defined to be a [=built-in function object=], then -it has characteristics as described in [=ECMA-262 section 9.3=]. -

Algorithms in this section use the conventions described in [=ECMA-262 section 5.2=], such as the use of steps and substeps, the use of mathematical - operations, and so on. The - [=ToBoolean=], - [=ToNumber=], - [=ToUint16=], - [=ToInt32=], - [=ToUint32=], - [=ToString=], - [=ToObject=], - [=IsAccessorDescriptor=] and - [=IsDataDescriptor=] abstract operations and the - [=Type|Type(x)=] - notation referenced in this section are defined in ECMA-262 sections 6 and 7. + operations, and so on. This section may also reference abstract operations + and notations defined in other parts of ECMA-262.

When an algorithm says to @@ -6268,11 +6253,11 @@ to its caller, and so on. Consider the following algorithm: 1. Let |x| be the ECMAScript value passed in to this algorithm. - 1. Let |y| be the result of calling [=ToString=](|x|). + 1. Let |y| be the result of calling ToString(|x|). 1. Return |y|. - Since [=ToString=] can throw an exception (for example if passed the object + Since ToString can throw an exception (for example if passed the object ({ toString: function() { throw 1 } })), and the exception is not handled in the above algorithm, if one is thrown then it causes this algorithm to end and for the exception to propagate out to its caller, if there @@ -6352,7 +6337,7 @@ every ECMAScript object must have an assoc for associating objects with Realms are, for now, underspecified. However, we note that in the case of [=platform objects=], the associated Realm is equal to the object's [=relevant Realm=], and -for non-exotic [=function objects=] (i.e. not callable proxies, and not bound functions) +for non-exotic [=function objects=] (i.e. not [=ECMAScript/callable=] proxies, and not bound functions) the associated Realm is equal to the value of the [=function object=]'s \[[Realm]] internal slot. @@ -6388,18 +6373,18 @@ ECMAScript value type. the ECMAScript undefined value. 1. If |V| is null, then return the null {{object|object?}} reference. - 1. If [=Type=](|V|) is Boolean, then + 1. If Type(|V|) is Boolean, then return the {{boolean}} value that represents the same truth value. - 1. If [=Type=](|V|) is Number, then + 1. If Type(|V|) is Number, then return the result of converting |V| to an {{unrestricted double}}. - 1. If [=Type=](|V|) is String, then + 1. If Type(|V|) is String, then return the result of converting |V| to a {{DOMString}}. - 1. If [=Type=](|V|) is Symbol, then + 1. If Type(|V|) is Symbol, then return the result of converting |V| to a {{symbol}}. - 1. If [=Type=](|V|) is Object, then + 1. If Type(|V|) is Object, then return an IDL {{object}} value that references |V|. @@ -6437,7 +6422,7 @@ may return any value, which will be discarded. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{boolean}} value by running the following algorithm: - 1. Let |x| be the result of computing [=ToBoolean=](|V|). + 1. Let |x| be the result of computing ToBoolean(|V|). 1. Return the IDL {{boolean}} value that is the one that represents the same truth value as the ECMAScript Boolean value |x|. @@ -6643,7 +6628,7 @@ In effect, where x is a Number value, IntegerPart(|n|): - 1. Let |r| be [=floor=]([=abs=](|n|)). + 1. Let |r| be floor(abs(|n|)). 1. If |n| < 0, then return -1 × |r|. 1. Otherwise, return |r|. @@ -6668,7 +6653,7 @@ In effect, where x is a Number value, 1. Otherwise: 1. Let |lowerBound| be -2|bitLength| − 1. 1. Let |upperBound| be 2|bitLength| − 1 − 1. - 1. Let |x| be [=?=] [=ToNumber=](|V|). + 1. Let |x| be [=?=] ToNumber(|V|). 1. If |x| is −0, then set |x| to +0. 1. If the conversion is to an IDL type [=extended attribute associated with|associated with=] the [{{EnforceRange}}] [=extended attribute=], then: @@ -6681,7 +6666,7 @@ In effect, where x is a Number value, 1. If |x| is not NaN and the conversion is to an IDL type [=extended attribute associated with|associated with=] the [{{Clamp}}] extended attribute, then: - 1. Set |x| to [=min=]([=max=](|x|, |lowerBound|), |upperBound|). + 1. Set |x| to min(max(|x|, |lowerBound|), |upperBound|). 1. Round |x| to the nearest integer, choosing the even integer if it lies halfway between two, and choosing +0 rather than −0. 1. Return |x|. @@ -6702,7 +6687,7 @@ In effect, where x is a Number value, An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{float}} value by running the following algorithm: - 1. Let |x| be [=?=] [=ToNumber=](|V|). + 1. Let |x| be [=?=] ToNumber(|V|). 1. If |x| is NaN, +∞, or −∞, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |S| be the set of finite IEEE 754 single-precision floating @@ -6733,7 +6718,7 @@ In effect, where x is a Number value, An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{unrestricted float}} value by running the following algorithm: - 1. Let |x| be [=?=] [=ToNumber=](|V|). + 1. Let |x| be [=?=] ToNumber(|V|). 1. If |x| is NaN, then return the IDL {{unrestricted float}} value that represents the IEEE 754 NaN value with the bit pattern 0x7fc00000 [[!IEEE-754]]. 1. Let |S| be the set of finite IEEE 754 single-precision floating point values except −0, but with two special values added: 2128 and @@ -6775,7 +6760,7 @@ value when its bit pattern is interpreted as an unsigned 32 bit integer. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{double}} value by running the following algorithm: - 1. Let |x| be [=?=] [=ToNumber=](|V|). + 1. Let |x| be [=?=] ToNumber(|V|). 1. If |x| is NaN, +∞, or −∞, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{double}} value @@ -6797,7 +6782,7 @@ value when its bit pattern is interpreted as an unsigned 32 bit integer. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{unrestricted double}} value by running the following algorithm: - 1. Let |x| be [=?=] [=ToNumber=](|V|). + 1. Let |x| be [=?=] ToNumber(|V|). 1. If |x| is NaN, then return the IDL {{unrestricted double}} value that represents the IEEE 754 NaN value with the bit pattern 0x7ff8000000000000 [[!IEEE-754]]. @@ -6834,7 +6819,7 @@ value when its bit pattern is interpreted as an unsigned 64 bit integer. 1. If |V| is null and the conversion is to an IDL type [=extended attribute associated with|associated with=] the [{{TreatNullAs}}] extended attribute, then return the {{DOMString}} value that represents the empty string. - 1. Let |x| be [=ToString=](|V|). + 1. Let |x| be ToString(|V|). 1. Return the IDL {{DOMString}} value that represents the same sequence of code units as the one the ECMAScript String value |x| represents. @@ -6854,7 +6839,7 @@ value when its bit pattern is interpreted as an unsigned 64 bit integer. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{ByteString}} value by running the following algorithm: - 1. Let |x| be [=ToString=](|V|). + 1. Let |x| be ToString(|V|). 1. If the value of any [=element=] of |x| is greater than 255, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return an IDL {{ByteString}} value @@ -6906,7 +6891,7 @@ values are represented by ECMAScript Object values. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{object}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If Type(|V|) is not Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{object}} value that is a reference to the same object as |V|. @@ -6926,7 +6911,7 @@ IDL {{symbol}} values are represented by ECMAScript Symbol values. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{symbol}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Symbol, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If Type(|V|) is not Symbol, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{symbol}} value that is a reference to the same symbol as |V|. @@ -6947,7 +6932,7 @@ values are represented by ECMAScript Object values (including [=function objects An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL [=interface type=] value by running the following algorithm (where |I| is the [=interface=]): - 1. If [=Type=](|V|) is not Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If Type(|V|) is not Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If |V| is a [=platform object=] that implements |I|, then return the IDL [=interface type=] value that represents a reference to that platform object. 1. If |V| is a [=user object=] that is considered to implement |I| according to the rules in [[#es-user-objects]], then return the IDL [=interface type=] value that represents a reference to that @@ -6976,7 +6961,7 @@ the object (or its prototype chain) correspond to [=dictionary members=]. to an IDL [=dictionary type=] value by running the following algorithm (where |D| is the [=dictionary type=]): - 1. If [=Type=](|V|) is not Undefined, Null or Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If Type(|V|) is not Undefined, Null or Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |dict| be an empty dictionary value of type |D|; every [=dictionary member=] is initially considered to be [=not present=]. @@ -6985,13 +6970,13 @@ the object (or its prototype chain) correspond to [=dictionary members=]. 1. For each dictionary |dictionary| in |dictionaries|, in order: 1. For each dictionary member |member| declared on |dictionary|, in lexicographical order: 1. Let |key| be the [=identifier=] of |member|. - 1. Let |value| be an ECMAScript value, depending on [=Type=](|V|): + 1. Let |value| be an ECMAScript value, depending on Type(|V|):
: Undefined : Null :: undefined : anything else - :: [=?=] [=Get=](|V|, |key|) + :: [=?=] Get(|V|, |key|)
1. If |value| is not undefined, then: 1. Let |idlValue| be the result of [=converted to an IDL value|converting=] |value| to an IDL value whose type is the type |member| is declared to be of. @@ -7014,7 +6999,7 @@ up on the ECMAScript object are not necessarily the same as the object’s prope to an ECMAScript Object value by running the following algorithm (where |D| is the [=dictionary=]): - 1. Let |O| be [=!=] [=ObjectCreate=]([=%ObjectPrototype%=]). + 1. Let |O| be [=!=] ObjectCreate([=%ObjectPrototype%=]). 1. Let |dictionaries| be a list consisting of |D| and all of |D|’s [=inherited dictionaries=], in order from least to most derived. 1. For each dictionary |dictionary| in |dictionaries|, in order: @@ -7023,7 +7008,7 @@ up on the ECMAScript object are not necessarily the same as the object’s prope 1. If the dictionary member named |key| is [=present=] in |V|, then: 1. Let |idlValue| be the value of |member| on |V|. 1. Let |value| be the result of [=converted to an ECMAScript value|converting=] |idlValue| to an ECMAScript value. - 1. Perform [=!=] [=CreateDataProperty=](|O|, |key|, |value|). + 1. Perform [=!=] CreateDataProperty(|O|, |key|, |value|). 1. Return |O|. @@ -7039,7 +7024,7 @@ values. to an IDL [=enumeration|enumeration type=] value as follows (where |E| is the [=enumeration=]): - 1. Let |S| be the result of calling [=ToString=](|V|). + 1. Let |S| be the result of calling ToString(|V|). 1. If |S| is not one of |E|’s [=enumeration values=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the enumeration value of type |E| that is equal to |S|. @@ -7064,7 +7049,7 @@ IDL [=callback function types=] are represented by ECMAScript [=function objects An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL [=callback function type=] value by running the following algorithm: - 1. If the result of calling [=IsCallable=](|V|) is false + 1. If the result of calling IsCallable(|V|) is false and the conversion to an IDL value is not being performed due to |V| being assigned to an [=attribute=] @@ -7097,7 +7082,7 @@ the ECMAScript null value. to an IDL [=nullable type=] |T|? value (where |T| is the [=nullable types/inner type=]) as follows: - 1. If [=Type=](|V|) is not Object, and + 1. If Type(|V|) is not Object, and the conversion to an IDL value is being performed due to |V| being assigned to an [=attribute=] whose type is a [=nullable type|nullable=] @@ -7138,9 +7123,9 @@ ECMAScript Array values. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL sequence<T> value as follows: - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. - 1. Let |method| be [=?=] [=GetMethod=](|V|, [=@@iterator=]). + 1. Let |method| be [=?=] GetMethod(|V|, [=@@iterator=]). 1. If |method| is undefined, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the result of [=creating a sequence from an iterable|creating a sequence=] @@ -7162,8 +7147,8 @@ ECMAScript Array values. 1. Let |V| be the value in |S| at index |i|. 1. Let |E| be the result of [=converted to an ECMAScript value|converting=] |V| to an ECMAScript value. - 1. Let |P| be the result of calling [=ToString=](|i|). - 1. Call [=CreateDataProperty=](|A|, |P|, |E|). + 1. Let |P| be the result of calling ToString(|i|). + 1. Call CreateDataProperty(|A|, |P|, |E|). 1. Set |i| to |i| + 1. 1. Return |A|. @@ -7177,17 +7162,17 @@ ECMAScript Array values. given an iterable |iterable| and an iterator getter |method|, perform the following steps: - 1. Let |iter| be [=?=] [=GetIterator=](|iterable|, |method|). + 1. Let |iter| be [=?=] GetIterator(|iterable|, |method|). 1. Initialize |i| to be 0. 1. Repeat - 1. Let |next| be [=?=] [=IteratorStep=](|iter|). + 1. Let |next| be [=?=] IteratorStep(|iter|). 1. If |next| is false, then return an IDL sequence value of type sequence<|T|> of length |i|, where the value of the element at index |j| is |S||j|. - 1. Let |nextItem| be [=?=] [=IteratorValue=](|next|). + 1. Let |nextItem| be [=?=] IteratorValue(|next|). 1. Initialize |S||i| to the result of [=converted to an IDL value|converting=] |nextItem| to an IDL value of type |T|. @@ -7280,7 +7265,7 @@ ECMAScript Object values. An ECMAScript value |O| is [=converted to an IDL value|converted=] to an IDL [=record=]<|K|, |V|> value as follows: - 1. If [=Type=](|O|) is not Object, + 1. If Type(|O|) is not Object, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |result| be a new empty instance of [=record=]<|K|, |V|>. 1. Let |keys| be [=?=] |O|.\[[OwnPropertyKeys]](). @@ -7289,7 +7274,7 @@ ECMAScript Object values. 1. If |desc| is not undefined and |desc|.\[[Enumerable]] is true: 1. Let |typedKey| be |key| [=converted to an IDL value=] of type |K|. - 1. Let |value| be [=?=] [=Get=](|O|, |key|). + 1. Let |value| be [=?=] Get(|O|, |key|). 1. Let |typedValue| be |value| [=converted to an IDL value=] of type |V|. 1. [=map/Set=] |result|[|typedKey|] to |typedValue|. @@ -7304,11 +7289,11 @@ ECMAScript Object values. [=converted to an ECMAScript value|converted=] to an ECMAScript value as follows: - 1. Let |result| be [=!=] [=ObjectCreate=]([=%ObjectPrototype%=]). + 1. Let |result| be [=!=] ObjectCreate([=%ObjectPrototype%=]). 1. [=map/For each=] |key| → |value| of |D|: 1. Let |esKey| be |key| [=converted to an ECMAScript value=]. 1. Let |esValue| be |value| [=converted to an ECMAScript value=]. - 1. Let |created| be [=!=] [=CreateDataProperty=](|result|, |esKey|, |esValue|). + 1. Let |created| be [=!=] CreateDataProperty(|result|, |esKey|, |esValue|). 1. Assert: |created| is true. 1. Return |result|. @@ -7423,7 +7408,7 @@ objects. 1. Otherwise, return the result of performing any steps that were required to be run if the promise was rejected, with |reason| as the rejection reason. 1. Let |then| be the result of calling the internal \[[Get]] method of |promise| with property name “then”. - 1. If |then| is not [=ECMAScript/callable=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If IsCallable(|then|) is false, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the result of calling |then| with |promise| as the this value and |onFulfilled| and |onRejected| as its two arguments. @@ -7464,47 +7449,47 @@ that correspond to the union’s [=member types=]. |V| to that type. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Object and |V| has an \[[ErrorData]] [=internal slot=]), then: + 1. If Type(|V|) is Object and |V| has an \[[ErrorData]] [=internal slot=]), then: 1. If |types| includes {{Error!!interface}}, then return the result of [=converted to an IDL value|converting=] |V| to {{Error!!interface}}. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Object and |V| has an \[[ArrayBufferData]] [=internal slot=], then: + 1. If Type(|V|) is Object and |V| has an \[[ArrayBufferData]] [=internal slot=], then: 1. If |types| includes {{ArrayBuffer}}, then return the result of [=converted to an IDL value|converting=] |V| to {{ArrayBuffer}}. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Object and |V| has a \[[DataView]] [=internal slot=], then: + 1. If Type(|V|) is Object and |V| has a \[[DataView]] [=internal slot=], then: 1. If |types| includes {{DataView}}, then return the result of [=converted to an IDL value|converting=] |V| to {{DataView}}. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Object and |V| has a \[[TypedArrayName]] [=internal slot=], then: + 1. If Type(|V|) is Object and |V| has a \[[TypedArrayName]] [=internal slot=], then: 1. If |types| includes a [=typed array type=] whose name is the value of |V|’s \[[TypedArrayName]] [=internal slot=], then return the result of [=converted to an IDL value|converting=] |V| to that type. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=IsCallable=](|V|) is true, then: + 1. If IsCallable(|V|) is true, then: 1. If |types| includes a [=callback function=] type, then return the result of [=converted to an IDL value|converting=] |V| to that callback function type. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Object, then: + 1. If Type(|V|) is Object, then: 1. If |types| includes a [=sequence type=], then - 1. Let |method| be [=?=] [=GetMethod=](|V|, [=@@iterator=]). + 1. Let |method| be [=?=] GetMethod(|V|, [=@@iterator=]). 1. If |method| is not undefined, return the result of [=creating a sequence from an iterable|creating a sequence=] of that type from |V| and |method|. 1. If |types| includes a [=frozen array type=], then - 1. Let |method| be [=?=] [=GetMethod=](|V|, [=@@iterator=]). + 1. Let |method| be [=?=] GetMethod(|V|, [=@@iterator=]). 1. If |method| is not undefined, return the result of [=Creating a frozen array from an iterable|creating a frozen array=] @@ -7521,11 +7506,11 @@ that correspond to the union’s [=member types=]. |V| to that interface type. 1. If |types| includes {{object}}, then return the IDL value that is a reference to the object |V|. - 1. If [=Type=](|V|) is Boolean, then: + 1. If Type(|V|) is Boolean, then: 1. If |types| includes a {{boolean}}, then return the result of [=converted to an IDL value|converting=] |V| to {{boolean}}. - 1. If [=Type=](|V|) is Number, then: + 1. If Type(|V|) is Number, then: 1. If |types| includes a [=numeric type=], then return the result of [=converted to an IDL value|converting=] |V| to that [=numeric type=]. @@ -7565,7 +7550,7 @@ by {{DOMException}} platform objects. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{Error!!interface}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, or |V| does not have an \[[ErrorData]] [=internal slot=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{Error!!interface}} value that is a reference @@ -7590,7 +7575,7 @@ ECMAScript Object values. An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{DOMException}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, or |V| is not a platform object that represents a {{DOMException}}, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{DOMException}} value that is a reference @@ -7618,12 +7603,12 @@ that unless the type is [=extended attributes associated with|associated with=] An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{ArrayBuffer}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, or |V| does not have an \[[ArrayBufferData]] [=internal slot=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If the conversion is not to an IDL type [=extended attributes associated with|associated with=] the [{{AllowShared}}] - [=extended attribute=], and [=IsSharedArrayBuffer=](|V|) is true, then [=ECMAScript/throw=] + [=extended attribute=], and IsSharedArrayBuffer(|V|) is true, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{ArrayBuffer}} value that is a reference to the same object as |V|. @@ -7634,12 +7619,12 @@ that unless the type is [=extended attributes associated with|associated with=] An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL {{DataView}} value by running the following algorithm: - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, or |V| does not have a \[[DataView]] [=internal slot=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If the conversion is not to an IDL type [=extended attributes associated with|associated with=] the [{{AllowShared}}] - [=extended attribute=], and [=IsSharedArrayBuffer=](|V|.\[[ViewedArrayBuffer]]) is true, + [=extended attribute=], and IsSharedArrayBuffer(|V|.\[[ViewedArrayBuffer]]) is true, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL {{DataView}} value that is a reference to the same object as |V|. @@ -7663,13 +7648,13 @@ that unless the type is [=extended attributes associated with|associated with=] 1. Let |T| be the IDL type |V| is being converted to. 1. Let |typedArrayName| be the [=type name|name=] of |T|'s [=annotated types/inner type=] if |T| is an [=annotated type=], or the [=type name|name=] of |T| otherwise. - 1. If [=Type=](|V|) is not Object, + 1. If Type(|V|) is not Object, or |V| does not have a \[[TypedArrayName]] [=internal slot=] with a value equal to |typedArrayName|, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If the conversion is not to an IDL type [=extended attributes associated with|associated with=] the [{{AllowShared}}] - [=extended attribute=], and [=IsSharedArrayBuffer=](|V|.\[[ViewedArrayBuffer]]) is true, + [=extended attribute=], and IsSharedArrayBuffer(|V|.\[[ViewedArrayBuffer]]) is true, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Return the IDL value of type |T| that is a reference to the same object as |V|. @@ -7697,7 +7682,7 @@ a reference to the same object that the IDL value represents. 1. Set |offset| to the value of |O|’s \[[ByteOffset]] [=internal slot=]. 1. Set |length| to the value of |O|’s \[[ByteLength]] [=internal slot=]. 1. Otherwise, set |length| to the value of |O|’s \[[ArrayBufferByteLength]] [=internal slot=]. - 1. If [=IsDetachedBuffer=](|O|), then + 1. If IsDetachedBuffer(|O|), then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |data| be the value of |O|’s \[[ArrayBufferData]] [=internal slot=]. 1. Return a reference to or copy of (as required) the |length| bytes in |data| @@ -7709,7 +7694,7 @@ a reference to the same object that the IDL value represents. To detach an {{ArrayBuffer}}, these steps must be followed: 1. Let |O| be the ECMAScript object that is the {{ArrayBuffer}}. - 1. Perform [=!=] [=DetachArrayBuffer=](|O|). + 1. Perform [=!=] DetachArrayBuffer(|O|). @@ -7740,7 +7725,7 @@ Array object references. 1. Let |array| be the result of [=converted to an ECMAScript value|converting=] the sequence of values of type |T| to an ECMAScript value. - 1. Perform [=SetIntegrityLevel=](|array|, "frozen"). + 1. Perform SetIntegrityLevel(|array|, "frozen"). 1. Return |array|. @@ -7807,13 +7792,13 @@ See the rules for converting ECMAScript values to IDL [=buffer source types=] in If the [{{Clamp}}] [=extended attribute=] appears on one of the [=integer types=], it creates a new IDL type such that that when an ECMAScript Number is converted to the IDL type, out-of-range values will be clamped to the range of valid values, rather than using the operators -that use a modulo operation ([=ToInt32=], [=ToUint32=], etc.). +that use a modulo operation (ToInt32, ToUint32, etc.). The [{{Clamp}}] extended attribute must [=takes no arguments|take no arguments=]. -A [=type=] annotated with the [{{Clamp}}] extended attribute must not appear in a [=read only=] +A type annotated with the [{{Clamp}}] extended attribute must not appear in a [=read only=] attribute. A type must not be [=extended attributes associated with|associated with=] both the [{{Clamp}}] and [{{EnforceRange}}] extended attributes. A type that is not an [=integer type=] must not be [=extended attributes associated with|associated with=] the [{{Clamp}}] extended attribute. @@ -8013,14 +7998,14 @@ for which a [=corresponding default operation=] has been defined. If the [{{EnforceRange}}] [=extended attribute=] appears on one of the [=integer types=], it creates a new IDL type such that that when an ECMAScript Number is converted to the IDL type, out-of-range values will cause an exception to be thrown, rather than being converted to a -valid value using using the operators that use a modulo operation ([=ToInt32=], [=ToUint32=], etc.). +valid value using using the operators that use a modulo operation (ToInt32, ToUint32, etc.). The Number will be rounded toward zero before being checked against its range. The [{{EnforceRange}}] extended attribute must [=takes no arguments|take no arguments=]. -A [=type=] annotated with the [{{EnforceRange}}] extended attribute must not appear in a +A type annotated with the [{{EnforceRange}}] extended attribute must not appear in a [=read only=] attribute. A type must not be [=extended attributes associated with|associated with=] both the [{{Clamp}}] and [{{EnforceRange}}] extended attributes. A type that is not an [=integer type=] must not be [=extended attributes associated with|associated with=] the @@ -9647,7 +9632,7 @@ The [{{TreatNullAs}}] extended attribute must [=takes an identifier|take the ide EmptyString. The [{{TreatNullAs}}] extended attribute must not be -[=extended attribute associated with|associated with=] a [=type=] that is not {{DOMString}}. +[=extended attribute associated with|associated with=] a type that is not {{DOMString}}. Note: This means that even DOMString? must not use [{{TreatNullAs}}], since null is a valid value of that type. @@ -9954,7 +9939,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object, |V| has an \[[ErrorData]] [=internal slot=], and + 1. Otherwise: if Type(|V|) is Object, |V| has an \[[ErrorData]] [=internal slot=], and there is an entry in |S| that has one of the following types at position |i| of its type list, * {{Error!!interface}} * {{object}} @@ -9965,7 +9950,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object, |V| has an \[[ArrayBufferData]] [=internal slot=], and + 1. Otherwise: if Type(|V|) is Object, |V| has an \[[ArrayBufferData]] [=internal slot=], and there is an entry in |S| that has one of the following types at position |i| of its type list, * {{ArrayBuffer}} * {{object}} @@ -9976,7 +9961,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object, |V| has a \[[DataView]] [=internal slot=], and + 1. Otherwise: if Type(|V|) is Object, |V| has a \[[DataView]] [=internal slot=], and there is an entry in |S| that has one of the following types at position |i| of its type list, * {{DataView}} * {{object}} @@ -9987,7 +9972,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object, |V| has a \[[TypedArrayName]] [=internal slot=], and + 1. Otherwise: if Type(|V|) is Object, |V| has a \[[TypedArrayName]] [=internal slot=], and there is an entry in |S| that has one of the following types at position |i| of its type list, * a [=typed array type=] whose name is equal to the value of |V|’s \[[TypedArrayName]] [=internal slot=] @@ -9999,7 +9984,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=IsCallable=](|V|) is true, + 1. Otherwise: if IsCallable(|V|) is true, and there is an entry in |S| that has one of the following types at position |i| of its type list, * a [=callback function=] type * {{object}} @@ -10010,7 +9995,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object and + 1. Otherwise: if Type(|V|) is Object and there is an entry in |S| that has one of the following types at position |i| of its type list, * a [=sequence type=] @@ -10022,12 +10007,12 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] and after performing the following steps, - 1. Let |method| be [=?=] [=GetMethod=](|V|, [=@@iterator=]). + 1. Let |method| be [=?=] GetMethod(|V|, [=@@iterator=]). |method| is not undefined, then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Object and + 1. Otherwise: if Type(|V|) is Object and there is an entry in |S| that has one of the following types at position |i| of its type list, * a [=callback interface=] type * a [=dictionary type=] @@ -10040,7 +10025,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Boolean + 1. Otherwise: if Type(|V|) is Boolean and there is an entry in |S| that has one of the following types at position |i| of its type list, * {{boolean}} * a [=nullable type|nullable=] {{boolean}} @@ -10050,7 +10035,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]] then remove from |S| all other entries. - 1. Otherwise: if [=Type=](|V|) is Number + 1. Otherwise: if Type(|V|) is Number and there is an entry in |S| that has one of the following types at position |i| of its type list, * a [=numeric type=] * a [=nullable type|nullable=] [=numeric type=] @@ -10266,8 +10251,8 @@ the typeof operator will return "function" when applied to an inter 1. Let |constructorProto| be the [=%FunctionPrototype%=] of |realm|. 1. If |I| inherits from some other interface |P|, then set |constructorProto| to the [=interface object=] of |P| in |realm|. - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, |steps|, |constructorProto|). - 1. Perform [=!=] [=SetFunctionName=](|F|, |id|). + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, |constructorProto|). + 1. Perform [=!=] SetFunctionName(|F|, |id|). 1. Let |length| be 0. 1. If |I| was declared with a [{{Constructor}}] [=extended attribute=], then 1. Initialize |S| to the [=effective overload set=] @@ -10315,8 +10300,8 @@ This object's relevant [=Realm=] must be the same as that of the [=named constru |constructor| with |values| as the argument values. 1. Return the result of [=converted to an ECMAScript value|converting=] |R| to an ECMAScript [=interface type=] value |I|. - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, |steps|, [=%FunctionPrototype%=] of |realm|). - 1. Perform [=!=] [=SetFunctionName=](|F|, |id|). + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, [=%FunctionPrototype%=] of |realm|). + 1. Perform [=!=] SetFunctionName(|F|, |id|). 1. Initialize |S| to the [=effective overload set=] for constructors with identifier |id| on [=interface=] |I| and with argument count 0. @@ -10425,7 +10410,7 @@ whose value is a reference to the [=interface object=] for the interface. 1. Let |object| be a new object created as if by the expression ({}). 1. For each of the aforementioned [=interface members=] declared with the [{{Unscopable}}] extended attribute, - call [=CreateDataProperty=](|object|, + call CreateDataProperty(|object|, the [=identifier=] of the interface member, true). 1. Return |object|. @@ -10469,8 +10454,8 @@ when applied to a [=legacy callback interface object=]. 1. Let |steps| be the following steps: 1. [=ECMAScript/Throw=] a {{ECMAScript/TypeError}}. - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, |steps|, the [=%FunctionPrototype%=] of |realm|). - 1. Perform [=!=] [=SetFunctionName=](|F|, |id|). + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, the [=%FunctionPrototype%=] of |realm|). + 1. Perform [=!=] SetFunctionName(|F|, |id|). 1. Perform [=!=] [=DefinePropertyOrThrow=](|F|, "length", PropertyDescriptor{\[[Value]]: 0, \[[Writable]]: false, \[[Enumerable]]: false, \[[Configurable]]: true}). @@ -10542,7 +10527,7 @@ is the concatenation of the [=interface=]’s |desc|.\[[Configurable]] to true. 1. Return |desc|. - 1. Return [=OrdinaryGetOwnProperty=](|O|, |P|). + 1. Return OrdinaryGetOwnProperty(|O|, |P|). @@ -10679,10 +10664,10 @@ The characteristics of this property are as follows: 1. Return the result of calling |reject| with [=%Promise%=] as the this object and the exception as the single argument value. 1. Otherwise, end these steps and allow the exception to propagate. - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, the [=%FunctionPrototype%=] of |realm|). 1. Let |name| be the string "get " prepended to |attribute|'s [=identifier=]. - 1. Perform [=!=] [=SetFunctionName=](|F|, |name|). + 1. Perform [=!=] SetFunctionName(|F|, |name|). 1. Perform [=!=] [=DefinePropertyOrThrow=](|F|, "length", PropertyDescriptor{\[[Value]]: 0, \[[Writable]]: false, \[[Enumerable]]: false, \[[Configurable]]: true}). 1. Return |F|. @@ -10718,25 +10703,25 @@ The characteristics of this property are as follows: 1. If |validThis| is false and |attribute| was not specified with the [{{LenientThis}}] [=extended attribute=], then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If |attribute| is declared with the [{{Replaceable}}] extended attribute, then: - 1. Perform [=?=] [=CreateDataProperty=](|O|, |id|, |V|). + 1. Perform [=?=] CreateDataProperty(|O|, |id|, |V|). 1. Return undefined. 1. If |validThis| is false, then return undefined. 1. If |attribute| is declared with a [{{LenientSetter}}] extended attribute, then return undefined. 1. If |attribute| is declared with a [{{PutForwards}}] extended attribute, then: - 1. Let |Q| be [=?=] [=Get=](|O|, |id|). - 1. If [=Type=](|Q|) is not Object, then [=ECMAScript/throw=] a + 1. Let |Q| be [=?=] Get(|O|, |id|). + 1. If Type(|Q|) is not Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |forwardId| be the identifier argument of the [{{PutForwards}}] extended attribute. - 1. Perform [=?=] [=Set=](|Q|, |forwardId|, |V|, true). + 1. Perform [=?=] Set(|Q|, |forwardId|, |V|, true). 1. Return undefined. 1. Let |idlValue| be determined as follows:
|attribute|'s type is an [=enumeration=]
- 1. Let |S| be [=?=] [=ToString=](|V|). + 1. Let |S| be [=?=] ToString(|V|). 1. If |S| is not one of the [=enumeration values|enumeration’s values=], then return undefined. 1. Otherwise, |idlValue| is the enumeration value equal to |S|. @@ -10752,10 +10737,10 @@ The characteristics of this property are as follows: 1. Perform the actions listed in the description of |attribute| that occur on setting, on |O| if |O| is not null. 1. Return undefined - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, the [=%FunctionPrototype%=] of |realm|). 1. Let |name| be the string "set " prepended to |id|. - 1. Perform [=!=] [=SetFunctionName=](|F|, |name|). + 1. Perform [=!=] SetFunctionName(|F|, |name|). 1. Perform [=!=] [=DefinePropertyOrThrow=](|F|, "length", PropertyDescriptor{\[[Value]]: 1, \[[Writable]]: false, \[[Enumerable]]: false, \[[Configurable]]: true}). 1. Return |F|. @@ -10867,9 +10852,9 @@ property-installation style as namespaces.) 1. Return the result of calling |reject| with [=%Promise%=] as the this object and the exception as the single argument value. 1. Otherwise, end these steps and allow the exception to propagate. - 1. Let |F| be [=!=] [=CreateBuiltinFunction=](|realm|, + 1. Let |F| be [=!=] CreateBuiltinFunction(|realm|, |steps|, the [=%FunctionPrototype%=] of |realm|). - 1. Perform [=!=] [=SetFunctionName=](|F|, |id|). + 1. Perform [=!=] SetFunctionName(|F|, |id|). 1. Let |S| be the [=effective overload set=] for [=regular operations=] (if |op| is a regular operation) or for [=static operations=] (if |op| is a static operation) with [=identifier=] |id| on |target| and with argument count 0. @@ -10902,11 +10887,11 @@ The [=return type=] of the [=default toJSON operation=] must be {{object}}. for [=interface=] |I|. 1. Invoke [=collect attribute values=] on |O|, passing it |stack| and |map| as arguments. - 1. Let |result| be [=!=] [=ObjectCreate=]([=%ObjectPrototype%=]). + 1. Let |result| be [=!=] ObjectCreate([=%ObjectPrototype%=]). 1. [=map/For each=] |key| → |value| of |map|, 1. Let |k| be |key| [=converted to an ECMAScript value=]. 1. Let |v| be |value| [=converted to an ECMAScript value=]. - 1. Perform [=!=] [=CreateDataProperty=](|result|, |k|, |v|). + 1. Perform [=!=] CreateDataProperty(|result|, |k|, |v|). 1. Return |result|. @@ -11062,7 +11047,7 @@ then there must exist a property with the following characteristics: The value of the property is a [=built-in function object=], which behaves as follows: - 1. Let |O| be the result of calling [=ToObject=] on the this value. + 1. Let |O| be the result of calling ToObject on the this value. 1. If |O| is a [=platform object=], then [=perform a security check=], passing: * the platform object |O|, @@ -11131,7 +11116,7 @@ then the [=function object=] is [=%ArrayProto_values%=]. If the interface has a [=pair iterator=], then the [=function object=] is a [=built-in function object=] that, when invoked, must behave as follows: - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11152,7 +11137,7 @@ then the [=function object=] is [=%ArrayProto_values%=]. then the [=function object=] is a [=built-in function object=] that, when invoked, must behave as follows: - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11165,10 +11150,10 @@ then the [=function object=] is [=%ArrayProto_values%=]. then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. If the interface has a [=maplike declaration=], then: 1. Let |backing| be the value of the \[[BackingMap]] [=internal slot=] of |object|. - 1. Return [=CreateMapIterator=](|backing|, "key+value"). + 1. Return CreateMapIterator(|backing|, "key+value"). 1. Otherwise: 1. Let |backing| be the value of the \[[BackingSet]] [=internal slot=] of |object|. - 1. Return [=CreateSetIterator=](|backing|, "value"). + 1. Return CreateSetIterator(|backing|, "value"). The value of the [=@@iterator=] [=function object=]’s “length” @@ -11244,7 +11229,7 @@ the initial value of the “forEach” data property of [=%ArrayPrototype%=]. If the interface has a [=maplike declaration=] or [=setlike declaration=] then the method, when invoked, must behave as follows: - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11257,7 +11242,7 @@ the initial value of the “forEach” data property of [=%ArrayPrototype%=]. that implements |interface|, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |callbackFn| be the value of the first argument passed to the function, or undefined if the argument was not supplied. - 1. If [=IsCallable=](|callbackFn|) is false, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If IsCallable(|callbackFn|) is false, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |thisArg| be the value of the second argument passed to the function, or undefined if the argument was not supplied. 1. Let |backing| be the value of the \[[BackingMap]] [=internal slot=] of |object|, if the interface has a [=maplike declaration=], @@ -11265,7 +11250,7 @@ the initial value of the “forEach” data property of [=%ArrayPrototype%=]. 1. Let |callbackWrapper| be a [=built-in function object=] that, when invoked, behaves as follows: 1. Let |v| and |k| be the first two arguments passed to the function. 1. Let |thisArg| be the this value. - 1. [=Call=](|callbackFn|, |thisArg|, «|v|, |k|, |object|»). + 1. Call(|callbackFn|, |thisArg|, «|v|, |k|, |object|»). Note: The |callbackWrapper| function simply calls the incoming |callbackFn| with |object| as the third argument rather than its internal \[[BackingMap]] or \[[BackingSet]] object. @@ -11277,8 +11262,8 @@ the initial value of the “forEach” data property of [=%ArrayPrototype%=].

1. Let |forEach| be the result of calling the \[[Get]] internal method of |backing| with “forEach” and |backing| as arguments. - 1. If [=IsCallable=](|forEach|) is false, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. - 1. [=Call=](|forEach|, |backing|, «|callbackWrapper|, |thisArg|»). + 1. If IsCallable(|forEach|) is false, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. Call(|forEach|, |backing|, «|callbackWrapper|, |thisArg|»). 1. Return undefined. @@ -11346,7 +11331,7 @@ the initial value of the “keys” data property of [=%ArrayPrototype%=]. If the interface has a [=pair iterator=], then the method, when invoked, must behave as follows: - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11395,7 +11380,7 @@ the value of the [=@@iterator=] property. If the interface has a [=pair iterator=], then the method, when invoked, must behave as follows: - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11465,7 +11450,7 @@ must be [=%IteratorPrototype%=]. 1. Let |interface| be the [=interface=] for which the [=iterator prototype object=] exists. - 1. Let |object| be the result of calling [=ToObject=] on the this value. + 1. Let |object| be the result of calling ToObject on the this value. 1. If |object| is a [=platform object=], then [=perform a security check=], passing: * the platform object |object|, @@ -11478,7 +11463,7 @@ must be [=%IteratorPrototype%=]. 1. Let |values| be the list of [=value pairs to iterate over=]. 1. Let |len| be the length of |values|. 1. If |index| is greater than or equal to |len|, then - return [=CreateIterResultObject=](undefined, true). + return CreateIterResultObject(undefined, true). 1. Let |pair| be the entry in |values| at index |index|. 1. Set |object|’s index to |index| + 1. 1. Let |result| be a value determined by the value of |kind|: @@ -11496,12 +11481,12 @@ must be [=%IteratorPrototype%=]. 1. Let |idlValue| be |pair|’s value. 1. Let |key| be the result of [=converted to an ECMAScript value|converting=] |idlKey| to an ECMAScript value. 1. Let |value| be the result of [=converted to an ECMAScript value|converting=] |idlValue| to an ECMAScript value. - 1. Let |array| be the result of performing [=ArrayCreate=](2). - 1. Call [=CreateDataProperty=](|array|, "0", |key|). - 1. Call [=CreateDataProperty=](|array|, "1", |value|). + 1. Let |array| be the result of performing ArrayCreate(2). + 1. Call CreateDataProperty(|array|, "0", |key|). + 1. Call CreateDataProperty(|array|, "1", |value|). 1. |result| is |array|.
- 1. Return [=CreateIterResultObject=](|result|, false). + 1. Return CreateIterResultObject(|result|, false). The [=class string=] of an [=iterator prototype object=] for a given [=interface=] @@ -11541,8 +11526,8 @@ These additional properties are described in the sub-sections below. 1. If |O| is not an object that implements A, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |map| be the {{Map}} object that is the value of |O|’s \[[BackingMap]] [=internal slot=]. 1. Let |function| be the result of calling the \[[Get]] internal method of |map| passing |name| and |map| as arguments. - 1. If [=IsCallable=](|function|) is false, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. - 1. Return [=Call=](|function|, |map|, |arguments|). + 1. If IsCallable(|function|) is false, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. Return Call(|function|, |map|, |arguments|). @@ -11626,7 +11611,7 @@ For both of “get” and “has”, there must exist a property with that name 1. Let |keyArg| be the first argument passed to this function, or undefined if not supplied. 1. Let |keyIDL| be the result of [=converted to an IDL value|converting=] |keyArg| to an IDL value of type |keyType|. 1. Let |key| be the result of [=converted to ECMAScript values|converting=] |keyIDL| to an ECMAScript value. - 1. Return [=Call=](|function|, |map|, «|key|»). + 1. Return Call(|function|, |map|, «|key|»). The value of the [=function object=]’s “length” properties is the Number value 1. @@ -11682,7 +11667,7 @@ must exist on |A|’s 1. Let |keyArg| be the first argument passed to this function, or undefined if not supplied. 1. Let |keyIDL| be the result of [=converted to an IDL value|converting=] |keyArg| to an IDL value of type |keyType|. 1. Let |key| be the result of [=converted to ECMAScript values|converting=] |keyIDL| to an ECMAScript value. - 1. Return [=Call=](|function|, |map|, «|key|»). + 1. Return Call(|function|, |map|, «|key|»). The value of the [=function object=]’s “length” property is the Number value 1. @@ -11720,7 +11705,7 @@ must exist on |A|’s [=interface prototype object=]: 1. Let |valueIDL| be the result of [=converted to an IDL value|converting=] |valueArg| to an IDL value of type |valueType|. 1. Let |key| be the result of [=converted to ECMAScript values|converting=] |keyIDL| to an ECMAScript value. 1. Let |value| be the result of [=converted to ECMAScript values|converting=] |valueIDL| to an ECMAScript value. - 1. [=!=] [=Call=](|function|, |map|, «|key|, |value|»). + 1. [=!=] Call(|function|, |map|, «|key|, |value|»). 1. Return |O|. @@ -11763,9 +11748,9 @@ These additional properties are described in the sub-sections below. the value of |O|’s \[[BackingSet]] [=internal slot=]. 1. Let |function| be the result of calling the \[[Get]] internal method of |set| passing |name| and |set| as arguments. - 1. If [=IsCallable=](|function|) is false, + 1. If IsCallable(|function|) is false, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. - 1. Return [=Call=](|function|, |set|, |arguments|). + 1. Return Call(|function|, |set|, |arguments|). @@ -11847,7 +11832,7 @@ with the following characteristics: 1. Let |arg| be the first argument passed to this function, or undefined if not supplied. 1. Let |idlValue| be the result of [=converted to an IDL value|converting=] |arg| to an IDL value of type |type|. 1. Let |value| be the result of [=converted to ECMAScript values|converting=] |idlValue| to an ECMAScript value. - 1. [=Call=](|function|, |set|, «|value|»). + 1. Call(|function|, |set|, «|value|»). The value of the [=function object=]’s “length” property is a Number value 1. @@ -11888,7 +11873,7 @@ must exist on |A|’s 1. Let |arg| be the first argument passed to this function, or undefined if not supplied. 1. Let |idlValue| be the result of [=converted to an IDL value|converting=] |arg| to an IDL value of type |type|. 1. Let |value| be the result of [=converted to ECMAScript values|converting=] |idlValue| to an ECMAScript value. - 1. Let |result| be [=!=] [=Call=](|function|, |set|, «|value|»). + 1. Let |result| be [=!=] Call(|function|, |set|, «|value|»). 1. If |name| is "delete", then retun |result|. 1. Otherwise, return |O|. @@ -12080,13 +12065,13 @@ and [[#legacy-platform-object-set]]. 1. If |O| [=support indexed properties|supports indexed properties=], |P| [=is an array index=], and |O| implements an interface with an [=indexed property setter=], then: 1. [=Invoke the indexed property setter=] with |P| and |V|. 1. Return true. - 1. If |O| [=support named properties|supports named properties=], [=Type=](|P|) is String, + 1. If |O| [=support named properties|supports named properties=], Type(|P|) is String, |P| [=is not an array index=], and |O| implements an interface with a [=named property setter=], then: 1. [=Invoke the named property setter=] with |P| and |V|. 1. Return true. 1. Let |ownDesc| be LegacyPlatformObjectGetOwnProperty(|O|, |P|, true). - 1. Perform [=?=] [=OrdinarySetWithOwnDescriptor=](|O|, |P|, |V|, |Receiver|, |ownDesc|). + 1. Perform [=?=] OrdinarySetWithOwnDescriptor(|O|, |P|, |V|, |Receiver|, |ownDesc|). @@ -12100,7 +12085,7 @@ and [[#legacy-platform-object-set]]. 1. If |O| [=support indexed properties|supports indexed properties=] and |P| [=is an array index=], then: - 1. If the result of calling [=IsDataDescriptor=](|Desc|) is + 1. If the result of calling IsDataDescriptor(|Desc|) is false, then return false. 1. If |O| does not implement an interface with an @@ -12110,7 +12095,7 @@ and [[#legacy-platform-object-set]]. 1. If |O| [=support named properties|supports named properties=], |O| does not implement an [=interface=] with the [{{Global}}] or [{{PrimaryGlobal}}] [=extended attribute=], - [=Type=](|P|) is String, + Type(|P|) is String, and |P| is not an [=unforgeable property name=] of |O|, then: 1. Let |creating| be true if |P| is not a [=supported property name=], and false otherwise. @@ -12121,7 +12106,7 @@ and [[#legacy-platform-object-set]]. interface with a [=named property setter=], then return false. 1. If |O| implements an interface with a [=named property setter=], then: - 1. If the result of calling [=IsDataDescriptor=](|Desc|) is + 1. If the result of calling IsDataDescriptor(|Desc|) is false, then return false. 1. [=Invoke the named property setter=] with |P| and |Desc|.\[[Value]]. @@ -12133,7 +12118,7 @@ and [[#legacy-platform-object-set]]. [=extended attribute=], then set |Desc|.\[[Configurable]] to true. - 1. Return [=OrdinaryDefineOwnProperty=](|O|, |P|, |Desc|). + 1. Return OrdinaryDefineOwnProperty(|O|, |P|, |Desc|). @@ -12146,7 +12131,7 @@ and [[#legacy-platform-object-set]]. 1. If |O| [=support indexed properties|supports indexed properties=] and |P| [=is an array index=], then: - 1. Let |index| be the result of calling [=ToUint32=](|P|). + 1. Let |index| be the result of calling ToUint32(|P|). 1. If |index| is not a [=supported property indices|supported property index=], then return true. 1. Return false. 1. If |O| [=support named properties|supports named properties=], @@ -12225,7 +12210,7 @@ internal method as follows. 1. Let |keys| be a new empty [=list=] of ECMAScript String and Symbol values. 1. If |O| [=support indexed properties|supports indexed properties=], then [=list|for each=] |index| of |O|’s - [=supported property indices=], in ascending numerical order, [=list|append=] [=!=] [=ToString=](|index|) to + [=supported property indices=], in ascending numerical order, [=list|append=] [=!=] ToString(|index|) to |keys|. 1. If |O| [=support named properties|supports named properties=], then [=list|for each=] |P| of |O|’s [=supported property names=] that is visible according to the [=named property visibility algorithm=], @@ -12247,7 +12232,7 @@ internal method as follows. oldids="dfn-array-index-property-name">is an [=array index=]
, the following algorithm is applied: - 1. If [=Type=](|P|) is not String, then return false. + 1. If Type(|P|) is not String, then return false. 1. Let |index| be [=!=] CanonicalNumericIndexString(|P|). 1. If |index| is undefined, then return false. 1. If |index| is less than 0 or is greater than or equal to 232 − 1, then return @@ -12303,7 +12288,7 @@ internal method as follows. To invoke an indexed property setter with property name |P| and ECMAScript value |V|, the following steps must be performed: - 1. Let |index| be the result of calling [=ToUint32=](|P|). + 1. Let |index| be the result of calling ToUint32(|P|). 1. Let |creating| be true if |index| is not a [=supported property indices|supported property index=], and false otherwise. 1. Let |operation| be the operation used to declare the indexed property setter. @@ -12348,7 +12333,7 @@ internal method as follows. 1. If |O| [=support indexed properties|supports indexed properties=] and |P| [=is an array index=], then: - 1. Let |index| be the result of calling [=ToUint32=](|P|). + 1. Let |index| be the result of calling ToUint32(|P|). 1. If |index| is a [=supported property indices|supported property index=], then: 1. Let |operation| be the operation used to declare the indexed property getter. 1. Let |value| be an uninitialized variable. @@ -12391,7 +12376,7 @@ internal method as follows. otherwise set it to true. 1. Set |desc|.\[[Configurable]] to true. 1. Return |desc|. - 1. Return [=OrdinaryGetOwnProperty=](|O|, |P|). + 1. Return OrdinaryGetOwnProperty(|O|, |P|).

User objects implementing callback interfaces

@@ -12477,25 +12462,25 @@ the special value “missing”, which represents a missing optional argument. 1. [=Prepare to run a callback=] with |stored settings|. 1. Determine the implementation of the operation, |X|: 1. If |value|'s interface is a [=single operation callback interface=] and - [=!=] [=IsCallable=](|O|) is true, + [=!=] IsCallable(|O|) is true, then set |X| to |O|. 1. Otherwise, |opName| must be supplied: - 1. Let |getResult| be [=Get=](|O|, |opName|). + 1. Let |getResult| be Get(|O|, |opName|). 1. If |getResult| is an [=abrupt completion=], set |completion| to |getResult| and jump to the step labeled return. 1. Set |X| to |getResult|.\[[Value]]. - 1. If [=!=] [=IsCallable=](|X|) is false, - then set |completion| to a new [=Completion=]{\[[Type]]: throw, \[[Value]]: a + 1. If [=!=] IsCallable(|X|) is false, + then set |completion| to a new Completion{\[[Type]]: throw, \[[Value]]: a newly created {{ECMAScript/TypeError}} object, \[[Target]]: empty}, and jump to the step labeled return. 1. If |value|'s interface is not a [=single operation callback interface=], - or if [=!=] [=IsCallable=](|O|) is false, + or if [=!=] IsCallable(|O|) is false, set |thisArg| to |O| (overriding the provided value). 1. Let |esArgs| be the result of [=Web IDL arguments list/converting=] |args| to an ECMAScript arguments list. If this throws an exception, set |completion| to the completion value representing the thrown exception and jump to the step labeled return. - 1. Let |callResult| be [=Call=](|X|, |thisArg|, |esArgs|). + 1. Let |callResult| be Call(|X|, |thisArg|, |esArgs|). 1. If |callResult| is an [=abrupt completion=], set |completion| to |callResult| and jump to the step labeled return. 1. Set |completion| to the result of [=converted to an IDL value|converting=] @@ -12530,7 +12515,7 @@ the special value “missing”, which represents a missing optional argument. 1. Let |stored settings| be |object|'s [=callback context=]. 1. [=Prepare to run script=] with |relevant settings|. 1. [=Prepare to run a callback=] with |stored settings|. - 1. Let |getResult| be [=Get=](|O|, |attributeName|). + 1. Let |getResult| be Get(|O|, |attributeName|). 1. If |getResult| is an [=abrupt completion=], set |completion| to |getResult| and jump to the step labeled return. 1. Set |completion| to the result of @@ -12571,15 +12556,15 @@ the special value “missing”, which represents a missing optional argument. to an ECMAScript value. 1. If |convertResult| is an [=abrupt completion=], set |completion| to |convertResult| and jump to the step labeled return. - 1. Set |completion| to [=Set=](|O|, |attributeName|, + 1. Set |completion| to Set(|O|, |attributeName|, |convertResult|.\[[Value]], true). 1. Return: at this point |completion| will be set to an ECMAScript completion value, which is - either an [=abrupt completion=] or a normal completion for the value true (as returned by [=Set=]). + either an [=abrupt completion=] or a normal completion for the value true (as returned by Set). 1. [=Clean up after running a callback=] with |stored settings|. 1. [=Clean up after running script=] with |relevant settings|. 1. If |completion| is an [=abrupt completion=], return |completion|. - 1. Return [=NormalCompletion=]({{void}}). + 1. Return NormalCompletion({{void}}). @@ -12602,7 +12587,7 @@ described in the previous section). 1. Let |completion| be an uninitialized variable. 1. If |thisArg| was not given, let |thisArg| be undefined. 1. Let |F| be the ECMAScript object corresponding to |callable|. - 1. If [=!=] [=IsCallable=](|F|) is false: + 1. If [=!=] IsCallable(|F|) is false: 1. If the callback function's return type is {{void}}, return. Note: This is only possible when the callback function came from an attribute @@ -12619,7 +12604,7 @@ described in the previous section). arguments list. If this throws an exception, set |completion| to the completion value representing the thrown exception and jump to the step labeled return. - 1. Let |callResult| be [=Call=](|F|, |thisArg|, |esArgs|). + 1. Let |callResult| be Call(|F|, |thisArg|, |esArgs|). 1. If |callResult| is an [=abrupt completion=], set |completion| to |callResult| and jump to the step labeled return. 1. Set |completion| to the result of [=converted to an IDL value|converting=] @@ -12652,7 +12637,7 @@ a return type that is a [=promise type=]. 1. Let |completion| be an uninitialized variable. 1. Let |F| be the ECMAScript object corresponding to |callable|. - 1. If [=!=] [=IsConstructor=](|F|) is false, throw a + 1. If [=!=] IsConstructor(|F|) is false, throw a {{ECMAScript/TypeError}} exception. 1. Let |realm| be |F|'s [=associated Realm=]. 1. Let |relevant settings| be |realm|'s [=Realm/settings object=]. @@ -12663,7 +12648,7 @@ a return type that is a [=promise type=]. arguments list. If this throws an exception, set |completion| to the completion value representing the thrown exception and jump to the step labeled return. - 1. Let |callResult| be [=Construct=](|F|, |esArgs|). + 1. Let |callResult| be Construct(|F|, |esArgs|). 1. If |callResult| is an [=abrupt completion=], set |completion| to |callResult| and jump to the step labeled return. 1. Set |completion| to the result of [=converted to an IDL value|converting=] @@ -12697,7 +12682,7 @@ The characteristics of a namespace object are described in [[#namespace-object]] is created as follows: 1. Let |namespaceObject| be - [=!=] [=ObjectCreate=](the [=%ObjectPrototype%=] of |realm|). + [=!=] ObjectCreate(the [=%ObjectPrototype%=] of |realm|). 1. For each [=exposed=] [=regular attribute=] |attr| that is a [=namespace member=] of this namespace, 1. Let |F| be the result of creating an [=attribute getter=] given |attr|, |namespace|, and |realm|. @@ -12707,7 +12692,7 @@ The characteristics of a namespace object are described in [[#namespace-object]] 1. For each [=exposed=] [=regular operation=] |op| that is a [=namespace member=] of this namespace, 1. Let |F| be the result of [=creating an operation function|creating an operation function=] given |op|, |namespace|, and |realm|. - 1. Perform [=!=] [=CreateDataProperty=](|namespaceObject|, |op|'s [=identifier=], |F|). + 1. Perform [=!=] CreateDataProperty(|namespaceObject|, |op|'s [=identifier=], |F|). 1. For each [=exposed=] [=interface=] |interface| which has the [{{LegacyNamespace}}] extended attribute with the identifier of this namespace as its argument, 1. Let |I| be the [=interface object=] for |interface|. @@ -12765,7 +12750,7 @@ A {{DOMException}} is represented by a :: |X| is the [=constructor=] for the corresponding ECMAScript error from the [=current Realm=]. - 1. Return [=!=] [=Construct=](|X|, |args|). + 1. Return [=!=] Construct(|X|, |args|).