@@ -3896,7 +3896,7 @@ support being iterated over to obtain a sequence of values.
3896
3896
3897
3897
Note: In the JavaScript language binding, an interface that is iterable
3898
3898
will have <code class="idl">entries</code>, <code class="idl">forEach</code>,
3899
- <code class="idl">keys</code>, <code class="idl">values</code>, and {{@@ iterator}}
3899
+ <code class="idl">keys</code>, <code class="idl">values</code>, and {{%Symbol. iterator% }}
3900
3900
properties on its [=interface prototype object=].
3901
3901
3902
3902
If a single type parameter is given, then the interface has a
@@ -3956,7 +3956,7 @@ Prose accompanying an [=interface=] with a [=pair iterator=] must define a [=/li
3956
3956
Note: This is how [=array iterator objects=] work.
3957
3957
For interfaces that [=support indexed properties=],
3958
3958
the iterator objects returned by <code class="idl">entries</code>,
3959
- <code class="idl">keys</code>, <code class="idl">values</code>, and {{@@ iterator}} are
3959
+ <code class="idl">keys</code>, <code class="idl">values</code>, and {{%Symbol. iterator% }} are
3960
3960
actual [=array iterator objects=].
3961
3961
3962
3962
[=Interfaces=] with an [=iterable declaration=] must not have any [=attributes=], [=constants=], or
@@ -4002,7 +4002,7 @@ or [=regular operations=] with these names.
4002
4002
next value to be iterated over. It has <code>keys</code> and <code>entries</code>
4003
4003
methods that iterate over the usernames of session objects
4004
4004
and username/<code class=idl>Session</code> object pairs, respectively. It also has
4005
- a {{@@ iterator}} method that allows a <code class="idl">SessionManager</code>
4005
+ a {{%Symbol. iterator% }} method that allows a <code class="idl">SessionManager</code>
4006
4006
to be used in a <code>for..of</code> loop that has the same value as the
4007
4007
<code>entries</code> method:
4008
4008
@@ -4099,7 +4099,7 @@ If given, an [=asynchronously iterable declaration=]'s arguments (matching
4099
4099
4100
4100
<div class="note">
4101
4101
In the JavaScript language binding, an interface that is asynchronously iterable will have
4102
- {{@@ asyncIterator}} and <code class="idl">values</code> properties on its
4102
+ {{%Symbol. asyncIterator% }} and <code class="idl">values</code> properties on its
4103
4103
[=interface prototype object=]. If the interface has a
4104
4104
[=pair asynchronously iterable declaration=], it will additionally have
4105
4105
<code class="idl">entries</code> and <code class="idl">keys</code> properties. All of these
@@ -4110,7 +4110,7 @@ If given, an [=asynchronously iterable declaration=]'s arguments (matching
4110
4110
With this in mind, the requirement that all arguments be optional ensures that, in the
4111
4111
JavaScript binding, <code>for</code>-<code>await</code>-<code>of</code> can work directly on
4112
4112
instances of the interface, since <code>for</code>-<code>await</code>-<code>of</code> calls the
4113
- {{@@ asyncIterator}} method with no arguments.
4113
+ {{%Symbol. asyncIterator% }} method with no arguments.
4114
4114
</div>
4115
4115
4116
4116
Prose accompanying an [=interface=] with an [=asynchronously iterable declaration=] must define a
@@ -4213,7 +4213,7 @@ or [=regular operations=] with these names.
4213
4213
<code>next</code> method that returns the next value to be iterated over.
4214
4214
It has <code>keys</code> and <code>entries</code> methods that iterate over the usernames of
4215
4215
session objects and (username, <code class=idl>Session</code>) object pairs, respectively.
4216
- It also has a {{@@ asyncIterator}} method that allows a <code class="idl">SessionManager</code>
4216
+ It also has a {{%Symbol. asyncIterator% }} method that allows a <code class="idl">SessionManager</code>
4217
4217
to be used in a <code>for await..of</code> loop that has the same value as the
4218
4218
<code>entries</code> method:
4219
4219
@@ -4299,7 +4299,7 @@ with the map entries is similar to that available on JavaScript
4299
4299
keyword is used, this includes <code class="idl">entries</code>,
4300
4300
<code class="idl">forEach</code>, <code class="idl">get</code>,
4301
4301
<code class="idl">has</code>, <code class="idl">keys</code>,
4302
- <code class="idl">values</code>, {{@@ iterator}} methods, and a
4302
+ <code class="idl">values</code>, {{%Symbol. iterator% }} methods, and a
4303
4303
<code class="idl">size</code> getter.
4304
4304
For read–write maplikes, it also includes <code class="idl">clear</code>,
4305
4305
<code class="idl">delete</code>, and <code class="idl">set</code> methods.
@@ -4390,7 +4390,7 @@ with the set entries is similar to that available on JavaScript
4390
4390
keyword is used, this includes <code class="idl">entries</code>,
4391
4391
<code class="idl">forEach</code>, <code class="idl">has</code>,
4392
4392
<code class="idl">keys</code>, <code class="idl">values</code>,
4393
- {{@@ iterator}} methods, and a <code class="idl">size</code> getter.
4393
+ {{%Symbol. iterator% }} methods, and a <code class="idl">size</code> getter.
4394
4394
For read–write setlikes, it also includes <code class="idl">add</code>,
4395
4395
<code class="idl">clear</code>, and <code class="idl">delete</code> methods.
4396
4396
@@ -6987,7 +6987,7 @@ Some objects described in this section are defined to have a <dfn id="dfn-class-
6987
6987
which is the string to include in the string returned from <code>Object.prototype.toString</code>.
6988
6988
6989
6989
If an object has a [=class string=] |classString|, then the object must,
6990
- at the time it is created, have a property whose name is the {{@@ toStringTag}} symbol
6990
+ at the time it is created, have a property whose name is the {{%Symbol. toStringTag% }} symbol
6991
6991
with PropertyDescriptor{\[[Writable]]: <emu-val>false</emu-val>,
6992
6992
\[[Enumerable]]: <emu-val>false</emu-val>, \[[Configurable]]: <emu-val>true</emu-val>,
6993
6993
\[[Value]]: |classString|}.
@@ -7984,7 +7984,7 @@ JavaScript Array values.
7984
7984
7985
7985
1. If <a abstract-op>Type</a>(|V|) is not Object,
7986
7986
[=JavaScript/throw=] a <l spec=ecmascript>{{TypeError}}</l>.
7987
- 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{@@ iterator}}).
7987
+ 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{%Symbol. iterator% }}).
7988
7988
1. If |method| is <emu-val>undefined</emu-val>,
7989
7989
[=JavaScript/throw=] a <l spec=ecmascript>{{TypeError}}</l>.
7990
7990
1. Return the result of [=creating a sequence from an iterable|creating a sequence=]
@@ -8681,13 +8681,13 @@ that correspond to the union's [=member types=].
8681
8681
that is a reference to the object |V|.
8682
8682
1. If <a abstract-op>Type</a>(|V|) is Object, then:
8683
8683
1. If |types| includes a [=sequence type=], then
8684
- 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{@@ iterator}}).
8684
+ 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{%Symbol. iterator% }}).
8685
8685
1. If |method| is not <emu-val>undefined</emu-val>,
8686
8686
return the result of
8687
8687
[=creating a sequence from an iterable|creating a sequence=]
8688
8688
of that type from |V| and |method|.
8689
8689
1. If |types| includes a [=frozen array type=], then
8690
- 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{@@ iterator}}).
8690
+ 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{%Symbol. iterator% }}).
8691
8691
1. If |method| is not <emu-val>undefined</emu-val>,
8692
8692
return the result of
8693
8693
[=Creating a frozen array from an iterable|creating a frozen array=]
@@ -10325,7 +10325,7 @@ that bare identifiers matching the property name will not resolve to
10325
10325
the property in a <code>with</code> statement. This is achieved by
10326
10326
including the property name on the
10327
10327
[=interface prototype object=]'s
10328
- {{@@ unscopables}} property's value.
10328
+ {{%Symbol. unscopables% }} property's value.
10329
10329
10330
10330
The [{{Unscopable}}]
10331
10331
extended attribute must
@@ -11234,7 +11234,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]]
11234
11234
11235
11235
and after performing the following steps,
11236
11236
11237
- 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{@@ iterator}}).
11237
+ 1. Let |method| be [=?=] <a abstract-op>GetMethod</a>(|V|, {{%Symbol. iterator% }}).
11238
11238
11239
11239
|method| is not <emu-val>undefined</emu-val>, then remove from |S| all
11240
11240
other entries.
@@ -11392,7 +11392,7 @@ Note: The HTML Standard defines how a security check is performed. [[!HTML]]
11392
11392
converting the JavaScript values to IDL values.
11393
11393
(An exception exists when one of the overloads has a [=sequence type=] or [=frozen array type=]
11394
11394
at the distinguishing argument index.
11395
- In this case, we attempt to get the {{@@ iterator}} property to determine the appropriate
11395
+ In this case, we attempt to get the {{%Symbol. iterator% }} property to determine the appropriate
11396
11396
overload, and perform the conversion of the distinguishing argument separately before continuing
11397
11397
with the next step.)
11398
11398
@@ -11655,7 +11655,7 @@ with the [{{LegacyNoInterfaceObject}}] [=extended attribute=].
11655
11655
1. Let |desc| be the PropertyDescriptor{\[[Value]]: |unscopableObject|,
11656
11656
\[[Writable]]: <emu-val>false</emu-val>, \[[Enumerable]]: <emu-val>false</emu-val>,
11657
11657
\[[Configurable]]: <emu-val>true</emu-val>}.
11658
- 1. Perform [=!=] <a abstract-op>DefinePropertyOrThrow</a>(|interfaceProtoObj|, {{@@ unscopables}}, |desc|).
11658
+ 1. Perform [=!=] <a abstract-op>DefinePropertyOrThrow</a>(|interfaceProtoObj|, {{%Symbol. unscopables% }}, |desc|).
11659
11659
1. If |interface| is not declared with the [{{Global}}] [=extended attribute=], then:
11660
11660
1. [=Define the regular attributes=] of |interface| on |interfaceProtoObj| given |realm|.
11661
11661
1. [=Define the regular operations=] of |interface| on |interfaceProtoObj| given |realm|.
@@ -12376,7 +12376,7 @@ then there must exist a property with the following characteristics:
12376
12376
of [=interface=] |definition| on |target|, given [=realm=] |realm|, run the following steps:
12377
12377
12378
12378
1. If |definition| has an [=indexed property getter=], then:
12379
- 1. Perform [$DefineMethodProperty$](|target|, {{@@ iterator}},
12379
+ 1. Perform [$DefineMethodProperty$](|target|, {{%Symbol. iterator% }},
12380
12380
{{%Array.prototype.values%}}, false).
12381
12381
1. If |definition| has a [=value iterator=], then:
12382
12382
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>entries</code>",
@@ -12388,11 +12388,11 @@ then there must exist a property with the following characteristics:
12388
12388
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>forEach</code>",
12389
12389
{{%Array.prototype.forEach%}}).
12390
12390
1. Otherwise, if |definition| has a [=pair iterator=], then:
12391
- 1. Define the {{@@ iterator}} and <code class="idl">entries</code> methods:
12391
+ 1. Define the {{%Symbol. iterator% }} and <code class="idl">entries</code> methods:
12392
12392
1. Let |steps| be the following series of steps:
12393
12393
1. Let |jsValue| be [=?=] [$ToObject$](<emu-val>this</emu-val> value).
12394
12394
1. If |jsValue| [=is a platform object=], then [=perform a security check=],
12395
- passing |jsValue|, "<code>@@ iterator</code>", and "<code>method</code>".
12395
+ passing |jsValue|, "<code>%Symbol. iterator% </code>", and "<code>method</code>".
12396
12396
1. If |jsValue| does not [=implement=] |definition|, then [=JavaScript/throw=] a
12397
12397
<l spec=ecmascript>{{TypeError}}</l>.
12398
12398
1. Return a newly created [=default iterator object=] for |definition|, with
@@ -12402,7 +12402,7 @@ then there must exist a property with the following characteristics:
12402
12402
1. Let |F| be [$CreateBuiltinFunction$](|steps|, « », |realm|).
12403
12403
1. Perform [$SetFunctionName$](|F|, "<code>entries</code>").
12404
12404
1. Perform [$SetFunctionLength$](|F|, 0).
12405
- 1. Perform [$DefineMethodProperty$](|target|, {{@@ iterator}}, |F|, false).
12405
+ 1. Perform [$DefineMethodProperty$](|target|, {{%Symbol. iterator% }}, |F|, false).
12406
12406
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>entries</code>", |F|).
12407
12407
1. Define the <code class="idl">keys</code> method:
12408
12408
1. Let |steps| be the following series of steps:
@@ -12572,11 +12572,11 @@ and the string "<code> Iterator</code>".
12572
12572
1. Assert: |definition| does not have an [=indexed property getter=] or an
12573
12573
[=iterable declaration=].
12574
12574
1. If |definition| has a [=pair asynchronously iterable declaration=], then define the
12575
- {{@@ asyncIterator}} and <code class="idl">entries</code> methods:
12575
+ {{%Symbol. asyncIterator% }} and <code class="idl">entries</code> methods:
12576
12576
1. Let |steps| be the following series of steps, given function argument values |args|:
12577
12577
1. Let |jsValue| be [=?=] [$ToObject$](<emu-val>this</emu-val> value).
12578
12578
1. If |jsValue| [=is a platform object=], then [=perform a security check=], passing
12579
- |jsValue|, "<code>@@ asyncIterator</code>", and "<code>method</code>".
12579
+ |jsValue|, "<code>%Symbol. asyncIterator% </code>", and "<code>method</code>".
12580
12580
1. If |jsValue| does not [=implement=] |definition|, then [=JavaScript/throw=] a
12581
12581
<l spec=ecmascript>{{TypeError}}</l>.
12582
12582
1. Let |idlObject| be the IDL [=interface type=] value that represents a reference to
@@ -12594,7 +12594,7 @@ and the string "<code> Iterator</code>".
12594
12594
1. Let |F| be [$CreateBuiltinFunction$](|steps|, « », |realm|).
12595
12595
1. Perform [$SetFunctionName$](|F|, "<code>entries</code>").
12596
12596
1. Perform [$SetFunctionLength$](|F|, 0).
12597
- 1. Perform [$DefineMethodProperty$](|target|, {{@@ asyncIterator}}, |F|, false).
12597
+ 1. Perform [$DefineMethodProperty$](|target|, {{%Symbol. asyncIterator% }}, |F|, false).
12598
12598
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>entries</code>", |F|).
12599
12599
1. If |definition| has a [=pair asynchronously iterable declaration=], then define the
12600
12600
<code class="idl">keys</code> method:
@@ -12620,7 +12620,7 @@ and the string "<code> Iterator</code>".
12620
12620
1. Perform [$SetFunctionName$](|F|, "<code>keys</code>").
12621
12621
1. Perform [$SetFunctionLength$](|F|, 0).
12622
12622
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>keys</code>", |F|).
12623
- 1. Define the <code class="idl">values</code>, and possibly {{@@ asyncIterator}}, methods:
12623
+ 1. Define the <code class="idl">values</code>, and possibly {{%Symbol. asyncIterator% }}, methods:
12624
12624
1. Let |steps| be the following series of steps, given function argument values |args|:
12625
12625
1. Let |jsValue| be [=?=] [$ToObject$](<emu-val>this</emu-val> value).
12626
12626
1. If |jsValue| [=is a platform object=], then [=perform a security check=], passing
@@ -12644,7 +12644,7 @@ and the string "<code> Iterator</code>".
12644
12644
1. Perform [$SetFunctionLength$](|F|, 0).
12645
12645
1. Perform [=!=] [$CreateDataPropertyOrThrow$](|target|, "<code>values</code>", |F|).
12646
12646
1. If |definition| has a [=value asynchronously iterable declaration=], then perform [=!=]
12647
- [$DefineMethodProperty$](|target|, {{@@ asyncIterator}}, |F|, false).
12647
+ [$DefineMethodProperty$](|target|, {{%Symbol. asyncIterator% }}, |F|, false).
12648
12648
</div>
12649
12649
12650
12650
<div algorithm>
@@ -12906,9 +12906,9 @@ with the following characteristics:
12906
12906
The value of the [=function object=]'s <code class="idl">name</code> property is the String value "<code>get size</code>".
12907
12907
12908
12908
12909
- <h5 id="js-map-iterator" oldids="es-map-iterator,es-iterator, es-iterators">@@ iterator</h5>
12909
+ <h5 id="js-map-iterator" oldids="es-map-iterator,es-iterator, es-iterators">%Symbol. iterator% </h5>
12910
12910
12911
- There must exist a data property whose name is the {{@@ iterator}} symbol on
12911
+ There must exist a data property whose name is the {{%Symbol. iterator% }} symbol on
12912
12912
|A|'s [=interface prototype object=]
12913
12913
with attributes { \[[Writable]]: <emu-val>true</emu-val>, \[[Enumerable]]: <emu-val>false</emu-val>, \[[Configurable]]: <emu-val>true</emu-val> }
12914
12914
and whose value is the [=function object=] that is the value of
@@ -13216,9 +13216,9 @@ with the following characteristics:
13216
13216
The value of the [=function object=]'s <code class="idl">name</code> property is the String value "<code>get size</code>".
13217
13217
13218
13218
13219
- <h5 id="js-set-iterator" oldids="es-set-iterator">@@ iterator</h5>
13219
+ <h5 id="js-set-iterator" oldids="es-set-iterator">%Symbol. iterator% </h5>
13220
13220
13221
- There must exist a data property whose name is the {{@@ iterator}} symbol on
13221
+ There must exist a data property whose name is the {{%Symbol. iterator% }} symbol on
13222
13222
|A|'s [=interface prototype object=]
13223
13223
with attributes { \[[Writable]]: <emu-val>true</emu-val>, \[[Enumerable]]: <emu-val>false</emu-val>, \[[Configurable]]: <emu-val>true</emu-val> }
13224
13224
and whose value is the [=function object=] that is the value of
0 commit comments