- @@unscopables
+ %%unscopables
|
`"Symbol.unscopables"`
@@ -3503,7 +3503,7 @@ ToPrimitive ( _input_ [ , _PreferredType_ ] )
1. Else,
1. Assert: _PreferredType_ is hint Number.
1. Let _hint_ be `"number"`.
- 1. Let _exoticToPrim_ be ? GetMethod(_input_, @@toPrimitive).
+ 1. Let _exoticToPrim_ be ? GetMethod(_input_, %%toPrimitive).
1. If _exoticToPrim_ is not *undefined*, then
1. Let _result_ be ? Call(_exoticToPrim_, _input_, « _hint_ »).
1. If Type(_result_) is not Object, return _result_.
@@ -3513,7 +3513,7 @@ ToPrimitive ( _input_ [ , _PreferredType_ ] )
1. Return _input_.
- When ToPrimitive is called with no hint, then it generally behaves as if the hint were Number. However, objects may over-ride this behaviour by defining a @@toPrimitive method. Of the objects defined in this specification only Date objects (see ) and Symbol objects (see ) over-ride the default ToPrimitive behaviour. Date objects treat no hint as if the hint were String.
+ When ToPrimitive is called with no hint, then it generally behaves as if the hint were Number. However, objects may over-ride this behaviour by defining a %%toPrimitive method. Of the objects defined in this specification only Date objects (see ) and Symbol objects (see ) over-ride the default ToPrimitive behaviour. Date objects treat no hint as if the hint were String.
@@ -4381,7 +4381,7 @@ IsRegExp ( _argument_ )
The abstract operation IsRegExp with argument _argument_ performs the following steps:
1. If Type(_argument_) is not Object, return *false*.
- 1. Let _matcher_ be ? Get(_argument_, @@match).
+ 1. Let _matcher_ be ? Get(_argument_, %%match).
1. If _matcher_ is not *undefined*, return ! ToBoolean(_matcher_).
1. If _argument_ has a [[RegExpMatcher]] internal slot, return *true*.
1. Return *false*.
@@ -4822,13 +4822,13 @@ OrdinaryHasInstance ( _C_, _O_ )
SpeciesConstructor ( _O_, _defaultConstructor_ )
- The abstract operation SpeciesConstructor is used to retrieve the constructor that should be used to create new objects that are derived from the argument object _O_. The _defaultConstructor_ argument is the constructor to use if a constructor @@species property cannot be found starting from _O_. This abstract operation performs the following steps:
+ The abstract operation SpeciesConstructor is used to retrieve the constructor that should be used to create new objects that are derived from the argument object _O_. The _defaultConstructor_ argument is the constructor to use if a constructor %%species property cannot be found starting from _O_. This abstract operation performs the following steps:
1. Assert: Type(_O_) is Object.
1. Let _C_ be ? Get(_O_, `"constructor"`).
1. If _C_ is *undefined*, return _defaultConstructor_.
1. If Type(_C_) is not Object, throw a *TypeError* exception.
- 1. Let _S_ be ? Get(_C_, @@species).
+ 1. Let _S_ be ? Get(_C_, %%species).
1. If _S_ is either *undefined* or *null*, return _defaultConstructor_.
1. If IsConstructor(_S_) is *true*, return _S_.
1. Throw a *TypeError* exception.
@@ -4920,12 +4920,12 @@ GetIterator ( _obj_ [ , _hint_ [ , _method_ ] ] )
1. Assert: _hint_ is either ~sync~ or ~async~.
1. If _method_ is not present, then
1. If _hint_ is ~async~, then
- 1. Set _method_ to ? GetMethod(_obj_, @@asyncIterator).
+ 1. Set _method_ to ? GetMethod(_obj_, %%asyncIterator).
1. If _method_ is *undefined*, then
- 1. Let _syncMethod_ be ? GetMethod(_obj_, @@iterator).
+ 1. Let _syncMethod_ be ? GetMethod(_obj_, %%iterator).
1. Let _syncIteratorRecord_ be ? GetIterator(_obj_, ~sync~, _syncMethod_).
1. Return ! CreateAsyncFromSyncIterator(_syncIteratorRecord_).
- 1. Otherwise, set _method_ to ? GetMethod(_obj_, @@iterator).
+ 1. Otherwise, set _method_ to ? GetMethod(_obj_, %%iterator).
1. Let _iterator_ be ? Call(_method_, _obj_).
1. If Type(_iterator_) is not Object, throw a *TypeError* exception.
1. Let _nextMethod_ be ? GetV(_iterator_, `"next"`).
@@ -5306,7 +5306,7 @@ HasBinding ( _N_ )
1. Let _foundBinding_ be ? HasProperty(_bindings_, _N_).
1. If _foundBinding_ is *false*, return *false*.
1. If the _withEnvironment_ flag of _envRec_ is *false*, return *true*.
- 1. Let _unscopables_ be ? Get(_bindings_, @@unscopables).
+ 1. Let _unscopables_ be ? Get(_bindings_, %%unscopables).
1. If Type(_unscopables_) is Object, then
1. Let _blocked_ be ! ToBoolean(? Get(_unscopables_, _N_)).
1. If _blocked_ is *true*, return *false*.
@@ -7980,7 +7980,7 @@ ArraySpeciesCreate ( _originalArray_, _length_ )
1. If _thisRealm_ and _realmC_ are not the same Realm Record, then
1. If SameValue(_C_, _realmC_.[[Intrinsics]].[[%Array%]]) is *true*, set _C_ to *undefined*.
1. If Type(_C_) is Object, then
- 1. Set _C_ to ? Get(_C_, @@species).
+ 1. Set _C_ to ? Get(_C_, %%species).
1. If _C_ is *null*, set _C_ to *undefined*.
1. If _C_ is *undefined*, return ? ArrayCreate(_length_).
1. If IsConstructor(_C_) is *false*, throw a *TypeError* exception.
@@ -8242,7 +8242,7 @@ CreateUnmappedArgumentsObject ( _argumentsList_ )
1. Let _val_ be _argumentsList_[_index_].
1. Perform CreateDataProperty(_obj_, ! ToString(_index_), _val_).
1. Set _index_ to _index_ + 1.
- 1. Perform ! DefinePropertyOrThrow(_obj_, @@iterator, PropertyDescriptor { [[Value]]: %Array.prototype.values%, [[Writable]]: *true*, [[Enumerable]]: *false*, [[Configurable]]: *true* }).
+ 1. Perform ! DefinePropertyOrThrow(_obj_, %%iterator, PropertyDescriptor { [[Value]]: %Array.prototype.values%, [[Writable]]: *true*, [[Enumerable]]: *false*, [[Configurable]]: *true* }).
1. Perform ! DefinePropertyOrThrow(_obj_, `"callee"`, PropertyDescriptor { [[Get]]: %ThrowTypeError%, [[Set]]: %ThrowTypeError%, [[Enumerable]]: *false*, [[Configurable]]: *false* }).
1. Return _obj_.
@@ -8284,7 +8284,7 @@ CreateMappedArgumentsObject ( _func_, _formals_, _argumentsList_, _env_ )
@@ -13812,17 +13812,17 @@ Runtime Semantics: Evaluation
Runtime Semantics: InstanceofOperator ( _V_, _target_ )
- The abstract operation InstanceofOperator(_V_, _target_) implements the generic algorithm for determining if ECMAScript value _V_ is an instance of object _target_ either by consulting _target_'s @@hasinstance method or, if absent, determining whether the value of _target_'s `prototype` property is present in _V_'s prototype chain. This abstract operation performs the following steps:
+ The abstract operation InstanceofOperator(_V_, _target_) implements the generic algorithm for determining if ECMAScript value _V_ is an instance of object _target_ either by consulting _target_'s %%hasinstance method or, if absent, determining whether the value of _target_'s `prototype` property is present in _V_'s prototype chain. This abstract operation performs the following steps:
1. If Type(_target_) is not Object, throw a *TypeError* exception.
- 1. Let _instOfHandler_ be ? GetMethod(_target_, @@hasInstance).
+ 1. Let _instOfHandler_ be ? GetMethod(_target_, %%hasInstance).
1. If _instOfHandler_ is not *undefined*, then
1. Return ! ToBoolean(? Call(_instOfHandler_, _target_, « _V_ »)).
1. If IsCallable(_target_) is *false*, throw a *TypeError* exception.
1. Return ? OrdinaryHasInstance(_target_, _V_).
- Steps 4 and 5 provide compatibility with previous editions of ECMAScript that did not use a @@hasInstance method to define the `instanceof` operator semantics. If an object does not define or inherit @@hasInstance it uses the default `instanceof` semantics.
+ Steps 4 and 5 provide compatibility with previous editions of ECMAScript that did not use a %%hasInstance method to define the `instanceof` operator semantics. If an object does not define or inherit %%hasInstance it uses the default `instanceof` semantics.
@@ -24732,13 +24732,13 @@ Object.prototype.toString ( )
1. Else if _O_ has a [[DateValue]] internal slot, let _builtinTag_ be `"Date"`.
1. Else if _O_ has a [[RegExpMatcher]] internal slot, let _builtinTag_ be `"RegExp"`.
1. Else, let _builtinTag_ be `"Object"`.
- 1. Let _tag_ be ? Get(_O_, @@toStringTag).
+ 1. Let _tag_ be ? Get(_O_, %%toStringTag).
1. If Type(_tag_) is not String, set _tag_ to _builtinTag_.
1. Return the string-concatenation of `"[object "`, _tag_, and `"]"`.
This function is the %ObjProto_toString% intrinsic object.
- Historically, this function was occasionally used to access the String value of the [[Class]] internal slot that was used in previous editions of this specification as a nominal type tag for various built-in objects. The above definition of `toString` preserves compatibility for legacy code that uses `toString` as a test for those specific kinds of built-in objects. It does not provide a reliable type testing mechanism for other kinds of built-in or program defined objects. In addition, programs can use @@toStringTag in ways that will invalidate the reliability of such legacy type tests.
+ Historically, this function was occasionally used to access the String value of the [[Class]] internal slot that was used in previous editions of this specification as a nominal type tag for various built-in objects. The above definition of `toString` preserves compatibility for legacy code that uses `toString` as a test for those specific kinds of built-in objects. It does not provide a reliable type testing mechanism for other kinds of built-in or program defined objects. In addition, programs can use %%toStringTag in ways that will invalidate the reliability of such legacy type tests.
@@ -25017,9 +25017,9 @@ Function.prototype.toString ( )
-
- Function.prototype [ @@hasInstance ] ( _V_ )
- When the `@@hasInstance` method of an object _F_ is called with value _V_, the following steps are taken:
+
+ Function.prototype [ %%hasInstance ] ( _V_ )
+ When the `%%hasInstance` method of an object _F_ is called with value _V_, the following steps are taken:
1. Let _F_ be the *this* value.
1. Return ? OrdinaryHasInstance(_F_, _V_).
@@ -25027,15 +25027,15 @@ Function.prototype [ @@hasInstance ] ( _V_ )
The value of the `name` property of this function is `"[Symbol.hasInstance]"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
- This is the default implementation of `@@hasInstance` that most functions inherit. `@@hasInstance` is called by the `instanceof` operator to determine whether a value is an instance of a specific constructor. An expression such as
+ This is the default implementation of `%%hasInstance` that most functions inherit. `%%hasInstance` is called by the `instanceof` operator to determine whether a value is an instance of a specific constructor. An expression such as
v instanceof F
evaluates as
- F[@@hasInstance](v)
+ F[%%hasInstance](v)
- A constructor function can control which objects are recognized as its instances by `instanceof` by exposing a different `@@hasInstance` method on the function.
+ A constructor function can control which objects are recognized as its instances by `instanceof` by exposing a different `%%hasInstance` method on the function.
This property is non-writable and non-configurable to prevent tampering that could be used to globally expose the target function of a bound function.
@@ -25202,7 +25202,7 @@ Properties of the Symbol Constructor
Symbol.asyncIterator
- The initial value of `Symbol.asyncIterator` is the well known symbol @@asyncIterator ().
+ The initial value of `Symbol.asyncIterator` is the well known symbol %%asyncIterator ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
@@ -25262,19 +25262,19 @@ Symbol.for ( _key_ )
Symbol.hasInstance
- The initial value of `Symbol.hasInstance` is the well-known symbol @@hasInstance ().
+ The initial value of `Symbol.hasInstance` is the well-known symbol %%hasInstance ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.isConcatSpreadable
- The initial value of `Symbol.isConcatSpreadable` is the well-known symbol @@isConcatSpreadable ().
+ The initial value of `Symbol.isConcatSpreadable` is the well-known symbol %%isConcatSpreadable ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.iterator
- The initial value of `Symbol.iterator` is the well-known symbol @@iterator ().
+ The initial value of `Symbol.iterator` is the well-known symbol %%iterator ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
@@ -25292,13 +25292,13 @@ Symbol.keyFor ( _sym_ )
Symbol.match
- The initial value of `Symbol.match` is the well-known symbol @@match ().
+ The initial value of `Symbol.match` is the well-known symbol %%match ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.matchAll
- The initial value of *Symbol.matchAll* is the well-known symbol @@matchAll ().
+ The initial value of *Symbol.matchAll* is the well-known symbol %%matchAll ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
@@ -25310,43 +25310,43 @@ Symbol.prototype
Symbol.replace
- The initial value of `Symbol.replace` is the well-known symbol @@replace ().
+ The initial value of `Symbol.replace` is the well-known symbol %%replace ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.search
- The initial value of `Symbol.search` is the well-known symbol @@search ().
+ The initial value of `Symbol.search` is the well-known symbol %%search ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.species
- The initial value of `Symbol.species` is the well-known symbol @@species ().
+ The initial value of `Symbol.species` is the well-known symbol %%species ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.split
- The initial value of `Symbol.split` is the well-known symbol @@split ().
+ The initial value of `Symbol.split` is the well-known symbol %%split ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.toPrimitive
- The initial value of `Symbol.toPrimitive` is the well-known symbol @@toPrimitive ().
+ The initial value of `Symbol.toPrimitive` is the well-known symbol %%toPrimitive ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.toStringTag
- The initial value of `Symbol.toStringTag` is the well-known symbol @@toStringTag ().
+ The initial value of `Symbol.toStringTag` is the well-known symbol %%toStringTag ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
Symbol.unscopables
- The initial value of `Symbol.unscopables` is the well-known symbol @@unscopables ().
+ The initial value of `Symbol.unscopables` is the well-known symbol %%unscopables ().
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
@@ -25415,10 +25415,10 @@ Symbol.prototype.valueOf ( )
-
- Symbol.prototype [ @@toPrimitive ] ( _hint_ )
+
+ Symbol.prototype [ %%toPrimitive ] ( _hint_ )
This function is called by ECMAScript language operators to convert a Symbol object to a primitive value. The allowed values for _hint_ are `"default"`, `"number"`, and `"string"`.
- When the `@@toPrimitive` method is called with argument _hint_, the following steps are taken:
+ When the `%%toPrimitive` method is called with argument _hint_, the following steps are taken:
1. Return ? thisSymbolValue(*this* value).
@@ -25426,9 +25426,9 @@ Symbol.prototype [ @@toPrimitive ] ( _hint_ )
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
-
- Symbol.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Symbol"`.
+
+ Symbol.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Symbol"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -26067,9 +26067,9 @@ Math.SQRT2
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- Math [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Math"`.
+
+ Math [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Math"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -28203,10 +28203,10 @@ Date.prototype.valueOf ( )
-
- Date.prototype [ @@toPrimitive ] ( _hint_ )
+
+ Date.prototype [ %%toPrimitive ] ( _hint_ )
This function is called by ECMAScript language operators to convert a Date object to a primitive value. The allowed values for _hint_ are `"default"`, `"number"`, and `"string"`. Date objects, are unique among built-in ECMAScript object in that they treat `"default"` as being equivalent to `"string"`, All other built-in ECMAScript objects treat `"default"` as being equivalent to `"number"`.
- When the `@@toPrimitive` method is called with argument _hint_, the following steps are taken:
+ When the `%%toPrimitive` method is called with argument _hint_, the following steps are taken:
1. Let _O_ be the *this* value.
1. If Type(_O_) is not Object, throw a *TypeError* exception.
@@ -28581,12 +28581,12 @@ String.prototype.match ( _regexp_ )
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. If _regexp_ is neither *undefined* nor *null*, then
- 1. Let _matcher_ be ? GetMethod(_regexp_, @@match).
+ 1. Let _matcher_ be ? GetMethod(_regexp_, %%match).
1. If _matcher_ is not *undefined*, then
1. Return ? Call(_matcher_, _regexp_, « _O_ »).
1. Let _S_ be ? ToString(_O_).
1. Let _rx_ be ? RegExpCreate(_regexp_, *undefined*).
- 1. Return ? Invoke(_rx_, @@match, « _S_ »).
+ 1. Return ? Invoke(_rx_, %%match, « _S_ »).
The `match` function is intentionally generic; it does not require that its *this* value be a String object. Therefore, it can be transferred to other kinds of objects for use as a method.
@@ -28602,12 +28602,12 @@ String.prototype.matchAll ( _regexp_ )
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. If _regexp_ is neither *undefined* nor *null*, then
- 1. Let _matcher_ be ? GetMethod(_regexp_, @@matchAll).
+ 1. Let _matcher_ be ? GetMethod(_regexp_, %%matchAll).
1. If _matcher_ is not *undefined*, then
1. Return ? Call(_matcher_, _regexp_, « _O_ »).
1. Let _S_ be ? ToString(_O_).
1. Let _rx_ be ? RegExpCreate(_regexp_, `"g"`).
- 1. Return ? Invoke(_rx_, @@matchAll, « _S_ »).
+ 1. Return ? Invoke(_rx_, %%matchAll, « _S_ »).
The `matchAll` function is intentionally generic, it does not require that its *this* value be a String object. Therefore, it can be transferred to other kinds of objects for use as a method.
Similarly to `String.prototype.split`, `String.prototype.matchAll` is designed to typically act without mutating its inputs.
@@ -28699,7 +28699,7 @@ String.prototype.replace ( _searchValue_, _replaceValue_ )
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. If _searchValue_ is neither *undefined* nor *null*, then
- 1. Let _replacer_ be ? GetMethod(_searchValue_, @@replace).
+ 1. Let _replacer_ be ? GetMethod(_searchValue_, %%replace).
1. If _replacer_ is not *undefined*, then
1. Return ? Call(_replacer_, _searchValue_, « _O_, _replaceValue_ »).
1. Let _string_ be ? ToString(_O_).
@@ -28877,12 +28877,12 @@ String.prototype.search ( _regexp_ )
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. If _regexp_ is neither *undefined* nor *null*, then
- 1. Let _searcher_ be ? GetMethod(_regexp_, @@search).
+ 1. Let _searcher_ be ? GetMethod(_regexp_, %%search).
1. If _searcher_ is not *undefined*, then
1. Return ? Call(_searcher_, _regexp_, « _O_ »).
1. Let _string_ be ? ToString(_O_).
1. Let _rx_ be ? RegExpCreate(_regexp_, *undefined*).
- 1. Return ? Invoke(_rx_, @@search, « _string_ »).
+ 1. Return ? Invoke(_rx_, %%search, « _string_ »).
The `search` function is intentionally generic; it does not require that its *this* value be a String object. Therefore, it can be transferred to other kinds of objects for use as a method.
@@ -28910,12 +28910,12 @@ String.prototype.slice ( _start_, _end_ )
String.prototype.split ( _separator_, _limit_ )
- Returns an Array object into which substrings of the result of converting this object to a String have been stored. The substrings are determined by searching from left to right for occurrences of _separator_; these occurrences are not part of any substring in the returned array, but serve to divide up the String value. The value of _separator_ may be a String of any length or it may be an object, such as a RegExp, that has a @@split method.
+ Returns an Array object into which substrings of the result of converting this object to a String have been stored. The substrings are determined by searching from left to right for occurrences of _separator_; these occurrences are not part of any substring in the returned array, but serve to divide up the String value. The value of _separator_ may be a String of any length or it may be an object, such as a RegExp, that has a %%split method.
When the `split` method is called, the following steps are taken:
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. If _separator_ is neither *undefined* nor *null*, then
- 1. Let _splitter_ be ? GetMethod(_separator_, @@split).
+ 1. Let _splitter_ be ? GetMethod(_separator_, %%split).
1. If _splitter_ is not *undefined*, then
1. Return ? Call(_splitter_, _separator_, « _O_, _limit_ »).
1. Let _S_ be ? ToString(_O_).
@@ -29152,9 +29152,9 @@ String.prototype.valueOf ( )
-
- String.prototype [ @@iterator ] ( )
- When the `@@iterator` method is called it returns an Iterator object () that iterates over the code points of a String value, returning each code point as a String value. The following steps are taken:
+
+ String.prototype [ %%iterator ] ( )
+ When the `%%iterator` method is called it returns an Iterator object () that iterates over the code points of a String value, returning each code point as a String value. The following steps are taken:
1. Let _O_ be ? RequireObjectCoercible(*this* value).
1. Let _S_ be ? ToString(_O_).
@@ -29222,9 +29222,9 @@ %StringIteratorPrototype%.next ( )
-
- %StringIteratorPrototype% [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"String Iterator"`.
+
+ %StringIteratorPrototype% [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"String Iterator"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -30983,15 +30983,15 @@ RegExp.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get RegExp [ @@species ]
- `RegExp[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get RegExp [ %%species ]
+ `RegExp[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- RegExp prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its @@species property.
+ RegExp prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its %%species property.
@@ -31194,9 +31194,9 @@ get RegExp.prototype.ignoreCase
-
- RegExp.prototype [ @@match ] ( _string_ )
- When the `@@match` method is called with argument _string_, the following steps are taken:
+
+ RegExp.prototype [ %%match ] ( _string_ )
+ When the `%%match` method is called with argument _string_, the following steps are taken:
1. Let _rx_ be the *this* value.
1. If Type(_rx_) is not Object, throw a *TypeError* exception.
@@ -31227,14 +31227,14 @@ RegExp.prototype [ @@match ] ( _string_ )
The value of the `name` property of this function is `"[Symbol.match]"`.
- The @@match property is used by the IsRegExp abstract operation to identify objects that have the basic behaviour of regular expressions. The absence of a @@match property or the existence of such a property whose value does not Boolean coerce to *true* indicates that the object is not intended to be used as a regular expression object.
+ The %%match property is used by the IsRegExp abstract operation to identify objects that have the basic behaviour of regular expressions. The absence of a %%match property or the existence of such a property whose value does not Boolean coerce to *true* indicates that the object is not intended to be used as a regular expression object.
- RegExp.prototype [ @@matchAll ] ( _string_ )
+ RegExp.prototype [ %%matchAll ] ( _string_ )
- When the `@@matchAll` method is called with argument _string_, the following steps are taken:
+ When the `%%matchAll` method is called with argument _string_, the following steps are taken:
1. Let _R_ be the *this* value.
1. If Type(_R_) is not Object, throw a *TypeError* exception.
@@ -31286,9 +31286,9 @@ get RegExp.prototype.multiline
-
- RegExp.prototype [ @@replace ] ( _string_, _replaceValue_ )
- When the `@@replace` method is called with arguments _string_ and _replaceValue_, the following steps are taken:
+
+ RegExp.prototype [ %%replace ] ( _string_, _replaceValue_ )
+ When the `%%replace` method is called with arguments _string_ and _replaceValue_, the following steps are taken:
1. Let _rx_ be the *this* value.
1. If Type(_rx_) is not Object, throw a *TypeError* exception.
@@ -31353,9 +31353,9 @@ RegExp.prototype [ @@replace ] ( _string_, _replaceValue_ )
The value of the `name` property of this function is `"[Symbol.replace]"`.
-
- RegExp.prototype [ @@search ] ( _string_ )
- When the `@@search` method is called with argument _string_, the following steps are taken:
+
+ RegExp.prototype [ %%search ] ( _string_ )
+ When the `%%search` method is called with argument _string_, the following steps are taken:
1. Let _rx_ be the *this* value.
1. If Type(_rx_) is not Object, throw a *TypeError* exception.
@@ -31392,8 +31392,8 @@ get RegExp.prototype.source
-
- RegExp.prototype [ @@split ] ( _string_, _limit_ )
+
+ RegExp.prototype [ %%split ] ( _string_, _limit_ )
Returns an Array object into which substrings of the result of converting _string_ to a String have been stored. The substrings are determined by searching from left to right for matches of the *this* value regular expression; these occurrences are not part of any substring in the returned array, but serve to divide up the String value.
The *this* value may be an empty regular expression or a regular expression that can match an empty String. In this case, the regular expression does not match the empty substring at the beginning or end of the input String, nor does it match the empty substring at the end of the previous separator match. (For example, if the regular expression matches the empty String, the String is split up into individual code unit elements; the length of the result array equals the length of the String, and each substring contains one code unit.) Only the first match at a given index of the String is considered, even if backtracking could yield a non-empty-substring match at that index. (For example, `/a*?/[Symbol.split]("ab")` evaluates to the array `["a", "b"]`, while `/a*/[Symbol.split]("ab")` evaluates to the array `["","b"]`.)
@@ -31404,7 +31404,7 @@ RegExp.prototype [ @@split ] ( _string_, _limit_ )
["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""]
If _limit_ is not *undefined*, then the output array is truncated so that it contains no more than _limit_ elements.
- When the `@@split` method is called, the following steps are taken:
+ When the `%%split` method is called, the following steps are taken:
1. Let _rx_ be the *this* value.
1. If Type(_rx_) is not Object, throw a *TypeError* exception.
@@ -31458,7 +31458,7 @@ RegExp.prototype [ @@split ] ( _string_, _limit_ )
The value of the `name` property of this function is `"[Symbol.split]"`.
- The `@@split` method ignores the value of the `global` and `sticky` properties of this RegExp object.
+ The `%%split` method ignores the value of the `global` and `sticky` properties of this RegExp object.
@@ -31578,9 +31578,9 @@ %RegExpStringIteratorPrototype%.next ( )
-
- %RegExpStringIteratorPrototype% [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"RegExp String Iterator"`.
+
+ %RegExpStringIteratorPrototype% [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"RegExp String Iterator"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -31718,7 +31718,7 @@ Array.from ( _items_ [ , _mapfn_ [ , _thisArg_ ] ] )
1. If IsCallable(_mapfn_) is *false*, throw a *TypeError* exception.
1. If _thisArg_ is present, let _T_ be _thisArg_; else let _T_ be *undefined*.
1. Let _mapping_ be *true*.
- 1. Let _usingIterator_ be ? GetMethod(_items_, @@iterator).
+ 1. Let _usingIterator_ be ? GetMethod(_items_, %%iterator).
1. If _usingIterator_ is not *undefined*, then
1. If IsConstructor(_C_) is *true*, then
1. Let _A_ be ? Construct(_C_).
@@ -31810,15 +31810,15 @@ Array.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get Array [ @@species ]
- `Array[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get Array [ %%species ]
+ `Array[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- Array prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its @@species property.
+ Array prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its %%species property.
@@ -31881,7 +31881,7 @@ Runtime Semantics: IsConcatSpreadable ( _O_ )
The abstract operation IsConcatSpreadable with argument _O_ performs the following steps:
1. If Type(_O_) is not Object, return *false*.
- 1. Let _spreadable_ be ? Get(_O_, @@isConcatSpreadable).
+ 1. Let _spreadable_ be ? Get(_O_, %%isConcatSpreadable).
1. If _spreadable_ is not *undefined*, return ! ToBoolean(_spreadable_).
1. Return ? IsArray(_O_).
@@ -32939,14 +32939,14 @@ Array.prototype.values ( )
This function is the %ArrayProto_values% intrinsic object.
-
- Array.prototype [ @@iterator ] ( )
- The initial value of the @@iterator property is the same function object as the initial value of the `Array.prototype.values` property.
+
+ Array.prototype [ %%iterator ] ( )
+ The initial value of the %%iterator property is the same function object as the initial value of the `Array.prototype.values` property.
-
- Array.prototype [ @@unscopables ]
- The initial value of the @@unscopables data property is an object created by the following steps:
+
+ Array.prototype [ %%unscopables ]
+ The initial value of the %%unscopables data property is an object created by the following steps:
1. Let _unscopableList_ be ObjectCreate(*null*).
1. Perform CreateDataProperty(_unscopableList_, `"copyWithin"`, *true*).
@@ -33041,9 +33041,9 @@ %ArrayIteratorPrototype%.next ( )
-
- %ArrayIteratorPrototype% [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Array Iterator"`.
+
+ %ArrayIteratorPrototype% [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Array Iterator"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -33332,7 +33332,7 @@ %TypedArray%.from ( _source_ [ , _mapfn_ [ , _thisArg_ ] ] )
1. Let _mapping_ be *true*.
1. Else, let _mapping_ be *false*.
1. If _thisArg_ is present, let _T_ be _thisArg_; else let _T_ be *undefined*.
- 1. Let _usingIterator_ be ? GetMethod(_source_, @@iterator).
+ 1. Let _usingIterator_ be ? GetMethod(_source_, %%iterator).
1. If _usingIterator_ is not *undefined*, then
1. Let _values_ be ? IterableToList(_source_, _usingIterator_).
1. Let _len_ be the number of elements in _values_.
@@ -33409,15 +33409,15 @@ %TypedArray%.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get %TypedArray% [ @@species ]
- %TypedArray%`[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get %TypedArray% [ %%species ]
+ %TypedArray%`[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- %TypedArrayPrototype% methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its @@species property.
+ %TypedArrayPrototype% methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its %%species property.
@@ -33933,14 +33933,14 @@ %TypedArray%.prototype.values ( )
-
- %TypedArray%.prototype [ @@iterator ] ( )
- The initial value of the @@iterator property is the same function object as the initial value of the %TypedArray%`.prototype.values` property.
+
+ %TypedArray%.prototype [ %%iterator ] ( )
+ The initial value of the %%iterator property is the same function object as the initial value of the %TypedArray%`.prototype.values` property.
-
- get %TypedArray%.prototype [ @@toStringTag ]
- %TypedArray%`.prototype[@@toStringTag]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get %TypedArray%.prototype [ %%toStringTag ]
+ %TypedArray%`.prototype[%%toStringTag]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Let _O_ be the *this* value.
1. If Type(_O_) is not Object, return *undefined*.
@@ -34080,7 +34080,7 @@ _TypedArray_ ( _object_ )
1. If NewTarget is *undefined*, throw a *TypeError* exception.
1. Let _constructorName_ be the String value of the Constructor Name value specified in for this TypedArray constructor.
1. Let _O_ be ? AllocateTypedArray(_constructorName_, NewTarget, "%TypedArrayPrototype%" ).
- 1. Let _usingIterator_ be ? GetMethod(_object_, @@iterator).
+ 1. Let _usingIterator_ be ? GetMethod(_object_, %%iterator).
1. If _usingIterator_ is not *undefined*, then
1. Let _values_ be ? IterableToList(_object_, _usingIterator_).
1. Let _len_ be the number of elements in _values_.
@@ -34243,7 +34243,7 @@ Map ( [ _iterable_ ] )
1. Return ? AddEntriesFromIterable(_map_, _iterable_, _adder_).
- If the parameter _iterable_ is present, it is expected to be an object that implements an @@iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a Map key and whose second element is the value to associate with that key.
+ If the parameter _iterable_ is present, it is expected to be an object that implements an %%iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a Map key and whose second element is the value to associate with that key.
@@ -34269,7 +34269,7 @@ AddEntriesFromIterable ( _target_, _iterable_, _adder_ )
1. If _status_ is an abrupt completion, return ? IteratorClose(_iteratorRecord_, _status_).
- The parameter _iterable_ is expected to be an object that implements an @@iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a Map key and whose second element is the value to associate with that key.
+ The parameter _iterable_ is expected to be an object that implements an %%iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a Map key and whose second element is the value to associate with that key.
@@ -34288,15 +34288,15 @@ Map.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get Map [ @@species ]
- `Map[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get Map [ %%species ]
+ `Map[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- Methods that create derived collection objects should call @@species to determine the constructor to use to create the derived objects. Subclass constructor may over-ride @@species to change the default constructor assignment.
+ Methods that create derived collection objects should call %%species to determine the constructor to use to create the derived objects. Subclass constructor may over-ride %%species to change the default constructor assignment.
@@ -34459,14 +34459,14 @@ Map.prototype.values ( )
-
- Map.prototype [ @@iterator ] ( )
- The initial value of the @@iterator property is the same function object as the initial value of the `entries` property.
+
+ Map.prototype [ %%iterator ] ( )
+ The initial value of the %%iterator property is the same function object as the initial value of the `entries` property.
-
- Map.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Map"`.
+
+ Map.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Map"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -34533,9 +34533,9 @@ %MapIteratorPrototype%.next ( )
-
- %MapIteratorPrototype% [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Map Iterator"`.
+
+ %MapIteratorPrototype% [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Map Iterator"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -34637,15 +34637,15 @@ Set.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get Set [ @@species ]
- `Set[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get Set [ %%species ]
+ `Set[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- Methods that create derived collection objects should call @@species to determine the constructor to use to create the derived objects. Subclass constructor may over-ride @@species to change the default constructor assignment.
+ Methods that create derived collection objects should call %%species to determine the constructor to use to create the derived objects. Subclass constructor may over-ride %%species to change the default constructor assignment.
@@ -34795,14 +34795,14 @@ Set.prototype.values ( )
-
- Set.prototype [ @@iterator ] ( )
- The initial value of the @@iterator property is the same function object as the initial value of the `values` property.
+
+ Set.prototype [ %%iterator ] ( )
+ The initial value of the %%iterator property is the same function object as the initial value of the `values` property.
-
- Set.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Set"`.
+
+ Set.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Set"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -34866,9 +34866,9 @@ %SetIteratorPrototype%.next ( )
-
- %SetIteratorPrototype% [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Set Iterator"`.
+
+ %SetIteratorPrototype% [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Set Iterator"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -34952,7 +34952,7 @@ WeakMap ( [ _iterable_ ] )
1. Return ? AddEntriesFromIterable(_map_, _iterable_, _adder_).
- If the parameter _iterable_ is present, it is expected to be an object that implements an @@iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a WeakMap key and whose second element is the value to associate with that key.
+ If the parameter _iterable_ is present, it is expected to be an object that implements an %%iterator method that returns an iterator object that produces a two element array-like object whose first element is a value that will be used as a WeakMap key and whose second element is the value to associate with that key.
@@ -35053,9 +35053,9 @@ WeakMap.prototype.set ( _key_, _value_ )
-
- WeakMap.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"WeakMap"`.
+
+ WeakMap.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"WeakMap"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -35187,9 +35187,9 @@ WeakSet.prototype.has ( _value_ )
-
- WeakSet.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"WeakSet"`.
+
+ WeakSet.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"WeakSet"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -35423,15 +35423,15 @@ ArrayBuffer.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get ArrayBuffer [ @@species ]
- `ArrayBuffer[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get ArrayBuffer [ %%species ]
+ `ArrayBuffer[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
The value of the `name` property of this function is `"get [Symbol.species]"`.
- ArrayBuffer prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its @@species property.
+ ArrayBuffer prototype methods normally use their `this` object's constructor to create a derived object. However, a subclass constructor may over-ride that default behaviour by redefining its %%species property.
@@ -35494,9 +35494,9 @@ ArrayBuffer.prototype.slice ( _start_, _end_ )
-
- ArrayBuffer.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"ArrayBuffer"`.
+
+ ArrayBuffer.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"ArrayBuffer"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -35582,9 +35582,9 @@ SharedArrayBuffer.prototype
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
-
- get SharedArrayBuffer [ @@species ]
- `SharedArrayBuffer[@@species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
+
+ get SharedArrayBuffer [ %%species ]
+ `SharedArrayBuffer[%%species]` is an accessor property whose set accessor function is *undefined*. Its get accessor function performs the following steps:
1. Return the *this* value.
@@ -35646,8 +35646,8 @@ SharedArrayBuffer.prototype.slice ( _start_, _end_ )
- SharedArrayBuffer.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"SharedArrayBuffer"`.
+ SharedArrayBuffer.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"SharedArrayBuffer"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -35970,9 +35970,9 @@ DataView.prototype.setUint32 ( _byteOffset_, _value_ [ , _littleEndian_ ] )<
-
- DataView.prototype [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"DataView"`.
+
+ DataView.prototype [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"DataView"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -36348,9 +36348,9 @@ Atomics.xor ( _typedArray_, _index_, _value_ )
-
- Atomics [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"Atomics"`.
+
+ Atomics [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"Atomics"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -36752,9 +36752,9 @@ Runtime Semantics: SerializeJSONArray ( _value_ )
-
- JSON [ @@toStringTag ]
- The initial value of the @@toStringTag property is the String value `"JSON"`.
+
+ JSON [ %%toStringTag ]
+ The initial value of the %%toStringTag property is the String value `"JSON"`.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
@@ -36789,7 +36789,7 @@ The Iterable Interface
|
A Module Namespace Object is a module namespace exotic object that provides runtime property-based access to a module's exported bindings. There is no constructor function for Module Namespace Objects. Instead, such an object is created for each module that is imported by an |ImportDeclaration| that includes a |NameSpaceImport|.