From ec57fa30daaaab8fd8c9d656380c9c3eb6032d19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aki=20=F0=9F=8C=B9?= Date: Wed, 5 Jun 2024 22:41:05 -0700 Subject: [PATCH] Markup: Add theads to all tables (#3341) --- spec.html | 1686 +++++++++++++++++++++++++++++------------------------ 1 file changed, 925 insertions(+), 761 deletions(-) diff --git a/spec.html b/spec.html index d762d150f5..8e605cc2e4 100644 --- a/spec.html +++ b/spec.html @@ -1210,17 +1210,19 @@

Well-Known Symbols

Within this specification a well-known symbol is referred to by using a notation of the form @@name, where “name” is one of the values listed in .

- - - - - + + + + + + +
- Specification Name - - [[Description]] - - Value and Purpose -
+ Specification Name + + [[Description]] + + Value and Purpose +
@@asyncIterator @@ -1374,20 +1376,22 @@

Numeric Types

ECMAScript has two built-in numeric types: Number and BigInt. The following abstract operations are defined over these numeric types. The "Result" column shows the return type, along with an indication if it is possible for some invocations of the operation to return an abrupt completion.

- - - - - - + + + + + + + +
- Operation - - Example source - - Invoked by the Evaluation semantics of ... - - Result -
+ Operation + + Example source + + Invoked by the Evaluation semantics of ... + + Result +
@@ -2724,13 +2728,15 @@

Property Attributes

Attributes are used in this specification to define and explain the state of Object properties as described in . Unless specified explicitly, the initial value of each attribute is its Default Value.

- - - - - - - + + + + + + + + +
Attribute NameTypes of property for which it is presentValue DomainDefault ValueDescription
Attribute NameTypes of property for which it is presentValue DomainDefault ValueDescription
[[Value]] @@ -2864,17 +2870,19 @@

Object Internal Methods and Internal Slots

An internal method implicitly returns a Completion Record, either a normal completion that wraps a value of the return type shown in its invocation pattern, or a throw completion.

- - - - - + + + + + + +
- Internal Method - - Signature - - Description -
+ Internal Method + + Signature + + Description +
[[GetPrototypeOf]] @@ -3001,17 +3009,19 @@

Object Internal Methods and Internal Slots

summarizes additional essential internal methods that are supported by objects that may be called as functions. A function object is an object that supports the [[Call]] internal method. A constructor is an object that supports the [[Construct]] internal method. Every object that supports [[Construct]] must support [[Call]]; that is, every constructor must be a function object. Therefore, a constructor may also be referred to as a constructor function or constructor function object.

- - - - - + + + + + + +
- Internal Method - - Signature - - Description -
+ Internal Method + + Signature + + Description +
[[Call]] @@ -3234,17 +3244,19 @@

Well-Known Intrinsic Objects

Within this specification a reference such as %name% means the intrinsic object, associated with the current realm, corresponding to the name. A reference such as %name.a.b% means, as if the *"b"* property of the value of the *"a"* property of the intrinsic object %name% was accessed prior to any ECMAScript code being evaluated. Determination of the current realm and its intrinsics is described in . The well-known intrinsics are listed in .

- - - - - + + + + + + +
- Intrinsic Name - - Global Name - - ECMAScript Language Association -
+ Intrinsic Name + + Global Name + + ECMAScript Language Association +
%AggregateError% @@ -4058,17 +4070,19 @@

The Completion Record Specification Type

Completion Records have the fields defined in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Type]] @@ -4167,11 +4181,13 @@

The Reference Record Specification Type

- - - - - + + + + + + + @@ -4622,20 +4638,22 @@

The PrivateElement Specification Type

Values of the PrivateElement type are Record values whose fields are defined by . Such values are referred to as PrivateElements.

Field NameValueMeaning
Field NameValueMeaning
[[Base]] an ECMAScript language value, an Environment Record, or ~unresolvable~
- - - - - - + + + + + + + +
- Field Name - - Values of the [[Kind]] field for which it is present - - Value - - Meaning -
+ Field Name + + Values of the [[Kind]] field for which it is present + + Value + + Meaning +
[[Key]] @@ -4716,17 +4734,19 @@

The ClassFieldDefinition Record Specification Type

Values of the ClassFieldDefinition type are Record values whose fields are defined by . Such values are referred to as ClassFieldDefinition Records.

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Name]] @@ -4764,17 +4784,19 @@

The ClassStaticBlockDefinition Record Specification Type

ClassStaticBlockDefinition Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[BodyFunction]] @@ -5286,14 +5308,16 @@

- - - - + + + + + +
- Argument Type - - Result -
+ Argument Type + + Result +
Undefined @@ -5474,14 +5498,16 @@

- - - - + + + + + +
- Argument Type - - Result -
+ Argument Type + + Result +
Undefined @@ -5637,14 +5663,16 @@

- - - - + + + + + +
- Argument Type - - Result -
+ Argument Type + + Result +
Undefined @@ -6828,17 +6856,19 @@

Iterator Records

Iterator Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Iterator]] @@ -9945,14 +9975,16 @@

The Environment Record Type Hierarchy

The Environment Record abstract class includes the abstract specification methods defined in . These abstract methods have distinct concrete algorithms for each of the concrete subclasses.

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
HasBinding(N) @@ -10250,17 +10282,19 @@

Object Environment Records

Object Environment Records have the additional state fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[BindingObject]] @@ -10478,17 +10512,19 @@

Function Environment Records

Function Environment Records have the additional state fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[ThisValue]] @@ -10538,14 +10574,16 @@

Function Environment Records

Function Environment Records support all of the Declarative Environment Record methods listed in and share the same specifications for all of those methods except for HasThisBinding and HasSuperBinding. In addition, Function Environment Records support the methods listed in :

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
BindThisValue(V) @@ -10652,17 +10690,19 @@

Global Environment Records

Global Environment Records have the additional fields listed in and the additional methods listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[ObjectRecord]] @@ -10711,14 +10751,16 @@

Global Environment Records

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
GetThisBinding() @@ -11180,14 +11222,16 @@

Module Environment Records

Module Environment Records support all of the Declarative Environment Record methods listed in and share the same specifications for all of those methods except for GetBindingValue, DeleteBinding, HasThisBinding and GetThisBinding. In addition, Module Environment Records support the methods listed in :

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
CreateImportBinding(N, M, N2) @@ -11505,17 +11549,19 @@

Realms

A realm is represented in this specification as a Realm Record with the fields specified in :

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[AgentSignifier]] @@ -11674,14 +11720,16 @@

Execution Contexts

An execution context contains whatever implementation specific state is necessary to track the execution progress of its associated code. Each execution context has at least the state components listed in .

- - - - + + + + + +
- Component - - Purpose -
+ Component + + Purpose +
code evaluation state @@ -11721,14 +11769,16 @@

Execution Contexts

ECMAScript code execution contexts have the additional state components listed in .

- - - - + + + + + +
- Component - - Purpose -
+ Component + + Purpose +
LexicalEnvironment @@ -11759,14 +11809,16 @@

Execution Contexts

Execution contexts representing the evaluation of Generators have the additional state components listed in .

- - - - + + + + + +
- Component - - Purpose -
+ Component + + Purpose +
Generator @@ -11925,17 +11977,19 @@

JobCallback Records

JobCallback Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Callback]] @@ -12075,11 +12129,13 @@

Agents

An agent signifier is a globally-unique opaque value used to identify an Agent.

- - - - - + + + + + + + @@ -13012,17 +13068,19 @@

ECMAScript Function Objects

In addition to [[Extensible]] and [[Prototype]], ECMAScript function objects also have the internal slots listed in .

Field NameValueMeaning
Field NameValueMeaning
[[LittleEndian]] a Boolean
- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[Environment]] @@ -13873,17 +13931,19 @@

Bound Function Exotic Objects

Bound function exotic objects do not have the internal slots of ECMAScript function objects listed in . Instead they have the internal slots listed in , in addition to [[Prototype]] and [[Extensible]].

- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[BoundTargetFunction]] @@ -14671,17 +14731,19 @@

TypedArray With Buffer Witness Records

TypedArray With Buffer Witness Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Object]] @@ -14913,17 +14975,19 @@

Module Namespace Exotic Objects

Module namespace exotic objects have the internal slots defined in .

- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[Module]] @@ -15216,14 +15280,16 @@

Proxy Object Internal Methods and Internal Slots

- - - - + + + + + +
- Internal Method - - Handler Method -
+ Internal Method + + Handler Method +
[[GetPrototypeOf]] @@ -16249,17 +16315,19 @@

White Space

The ECMAScript white space code points are listed in .

- - - - - + + + + + + +
- Code Points - - Name - - Abbreviation -
+ Code Points + + Name + + Abbreviation +
`U+0009` @@ -16341,17 +16409,19 @@

Line Terminators

The ECMAScript line terminator code points are listed in .

- - - - - + + + + + + +
- Code Point - - Unicode Name - - Abbreviation -
+ Code Point + + Unicode Name + + Abbreviation +
`U+000A` @@ -17170,20 +17240,22 @@

Static Semantics: SV ( ): a String

- - - - - - + + + + + + + +
- Escape Sequence - - Code Unit Value - - Unicode Character Name - - Symbol -
+ Escape Sequence + + Code Unit Value + + Unicode Character Name + + Symbol +
`\\b` @@ -20490,7 +20562,9 @@

Runtime Semantics: Evaluation

- + + + @@ -20591,7 +20665,9 @@

_assignmentOpText_ _opText_
_assignmentOpText_ _opText_
`**=` `**`
`*=` `*`
`/=` `/`
- + + + @@ -22318,17 +22394,19 @@

Properties of For-In Iterator Instances

For-In Iterator instances are ordinary objects that inherit properties from the %ForInIteratorPrototype% intrinsic object. For-In Iterator instances are initially created with the internal slots listed in .

_opText_ Type(_lnum_) _operation_
_opText_ Type(_lnum_) _operation_
`**` Number Number::exponentiate
`*` Number Number::multiply
`*` BigInt BigInt::multiply
- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[Object]] @@ -26159,14 +26237,16 @@

Abstract Module Records

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
LoadRequestedModules( [ _hostDefined_ ] ) @@ -26222,17 +26302,19 @@

Cyclic Module Records

In addition to the fields defined in Cyclic Module Records have the additional fields listed in

- - - - - + + + + + + +
- Field Name - - Value Type - - Meaning -
+ Field Name + + Value Type + + Meaning +
[[Status]] @@ -26370,14 +26452,16 @@

Cyclic Module Records

In addition to the methods defined in Cyclic Module Records have the additional methods listed in

- - - - + + + + + +
- Method - - Purpose -
+ Method + + Purpose +
InitializeEnvironment() @@ -26400,17 +26484,19 @@

Cyclic Module Records

A GraphLoadingState Record is a Record that contains information about the loading process of a module graph. It's used to continue loading after a call to HostLoadImportedModule. Each GraphLoadingState Record has the fields defined in :

- - - - - + + + + + + +
- Field Name - - Value Type - - Meaning -
+ Field Name + + Value Type + + Meaning +
[[PromiseCapability]] @@ -27284,17 +27370,19 @@

Source Text Module Records

In addition to the fields defined in , Source Text Module Records have the additional fields listed in . Each of these fields is initially set in ParseModule.

- - - - - + + + + + + +
- Field Name - - Value Type - - Meaning -
+ Field Name + + Value Type + + Meaning +
[[ECMAScriptCode]] @@ -27377,17 +27465,19 @@

Source Text Module Records

An ImportEntry Record is a Record that digests information about a single declarative import. Each ImportEntry Record has the fields defined in :

- - - - - + + + + + + +
- Field Name - - Value Type - - Meaning -
+ Field Name + + Value Type + + Meaning +
[[ModuleRequest]] @@ -27427,20 +27517,22 @@

Source Text Module Records

gives examples of ImportEntry records fields used to represent the syntactic import forms:

- - - - - - + + + + + + + +
- Import Statement Form - - [[ModuleRequest]] - - [[ImportName]] - - [[LocalName]] -
+ Import Statement Form + + [[ModuleRequest]] + + [[ImportName]] + + [[LocalName]] +
`import v from "mod";` @@ -27511,17 +27603,19 @@

Source Text Module Records

An ExportEntry Record is a Record that digests information about a single declarative export. Each ExportEntry Record has the fields defined in :

- - - - - + + + + + + +
- Field Name - - Value Type - - Meaning -
+ Field Name + + Value Type + + Meaning +
[[ExportName]] @@ -27572,23 +27666,25 @@

Source Text Module Records

gives examples of the ExportEntry record fields used to represent the syntactic export forms:

- - - - - - - + + + + + + + + +
- Export Statement Form - - [[ExportName]] - - [[ModuleRequest]] - - [[ImportName]] - - [[LocalName]] -
+ Export Statement Form + + [[ExportName]] + + [[ModuleRequest]] + + [[ImportName]] + + [[LocalName]] +
`export var v;` @@ -30557,17 +30653,19 @@

Symbol.for ( _key_ )

The GlobalSymbolRegistry is an append-only List that is globally available. It is shared by all realms. Prior to the evaluation of any ECMAScript code, it is initialized as a new empty List. Elements of the GlobalSymbolRegistry are Records with the structure defined in .

- - - - - + + + + + + +
- Field Name - - Value - - Usage -
+ Field Name + + Value + + Usage +
[[Key]] @@ -32656,11 +32754,13 @@

Time Zone Identifier Record

Time Zone Identifier Records have the fields listed in .

- - - - - + + + + + + + @@ -33101,17 +33201,19 @@

Time Zone Offset String Format

Field NameValueMeaning
Field NameValueMeaning
[[Identifier]] a String
- - - - - + + + + + + +
- Code Point - - Unicode Name - - Abbreviation -
+ Code Point + + Unicode Name + + Abbreviation +
`U+2212` @@ -34016,14 +34118,16 @@

- - - - + + + + + +
- Number - - Name -
+ Number + + Name +
*+0*𝔽 @@ -34084,14 +34188,16 @@

- - - - + + + + + +
- Number - - Name -
+ Number + + Name +
*+0*𝔽 @@ -35910,23 +36016,25 @@

Static Semantics: CharacterValue ( ): a non-negative integer

- - - - - - - + + + + + + + + +
- ControlEscape - - Numeric Value - - Code Point - - Unicode Name - - Symbol -
+ ControlEscape + + Numeric Value + + Code Point + + Unicode Name + + Symbol +
`t` @@ -36297,11 +36405,13 @@

RegExp Records

It has the following fields:

- - - - - + + + + + + + @@ -38291,11 +38401,13 @@

Match Records

Match Records have the fields listed in .

Field NameValueMeaning
Field NameValueMeaning
[[IgnoreCase]] a Boolean
- - - - - + + + + + + + @@ -40031,23 +40143,25 @@

TypedArray Objects

A _TypedArray_ presents an array-like view of an underlying binary data buffer (). A TypedArray element type is the underlying binary scalar data type that all elements of a _TypedArray_ instance have. There is a distinct _TypedArray_ constructor, listed in , for each of the supported element types. Each constructor in has a corresponding distinct prototype object.

Field NameValueMeaning
Field NameValueMeaning
[[StartIndex]] a non-negative integer
- - - - - - - + + + + + + + + +
- Constructor Name and Intrinsic - - Element Type - - Element Size - - Conversion Operation - - Description -
+ Constructor Name and Intrinsic + + Element Type + + Element Size + + Conversion Operation + + Description +
Int8Array
@@ -43960,17 +44074,19 @@

DataView With Buffer Witness Records

DataView With Buffer Witness Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Object]] @@ -44469,17 +44585,19 @@

Waiter Record

A Waiter Record has fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[AgentSignifier]] @@ -44534,17 +44652,19 @@

WaiterList Records

A WaiterList Record has fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Waiters]] @@ -45431,11 +45551,13 @@

JSON Serialization Record

JSON Serialization Records have the fields listed in .

- - - - - + + + + + + + @@ -45533,17 +45655,19 @@

Field NameValueMeaning
Field NameValueMeaning
[[ReplacerFunction]] a function object or *undefined*
- - - - - + + + + + + +
- Code Point - - Unicode Character Name - - Escape Sequence -
+ Code Point + + Unicode Character Name + + Escape Sequence +
U+0008 @@ -46025,17 +46149,19 @@

The Iterable Interface

The Iterable interface includes the property described in :

- - - - - + + + + + + +
- Property - - Value - - Requirements -
+ Property + + Value + + Requirements +
`@@iterator` @@ -46056,17 +46182,19 @@

The Iterator Interface

An object that implements the Iterator interface must include the property in . Such objects may also implement the properties in .

- - - - - + + + + + + +
- Property - - Value - - Requirements -
+ Property + + Value + + Requirements +
*"next"* @@ -46085,17 +46213,19 @@

The Iterator Interface

- - - - - + + + + + + +
- Property - - Value - - Requirements -
+ Property + + Value + + Requirements +
*"return"* @@ -46130,11 +46260,13 @@

The AsyncIterable Interface

The AsyncIterable interface includes the properties described in :

- - - - - + + + + + + + @@ -46149,11 +46281,13 @@

The AsyncIterator Interface

An object that implements the AsyncIterator interface must include the properties in . Such objects may also implement the properties in .

PropertyValueRequirements
PropertyValueRequirements
`@@asyncIterator` a function that returns an AsyncIterator object
- - - - - + + + + + + + @@ -46170,11 +46304,13 @@

The AsyncIterator Interface

PropertyValueRequirements
PropertyValueRequirements
*"next"* a function that returns a promise for an IteratorResult object
- - - - - + + + + + + + @@ -46205,17 +46341,19 @@

The IteratorResult Interface

The IteratorResult interface includes the properties listed in :

PropertyValueRequirements
PropertyValueRequirements
*"return"* a function that returns a promise for an IteratorResult object
- - - - - + + + + + + +
- Property - - Value - - Requirements -
+ Property + + Value + + Requirements +
*"done"* @@ -46479,17 +46617,19 @@

PromiseCapability Records

PromiseCapability Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Promise]] @@ -46550,17 +46690,19 @@

PromiseReaction Records

PromiseReaction Records have the fields listed in .

- - - - - + + + + + + +
- Field Name - - Value - - Meaning -
+ Field Name + + Value + + Meaning +
[[Capability]] @@ -47488,17 +47630,19 @@

Properties of Promise Instances

Promise instances are ordinary objects that inherit properties from the Promise prototype object (the intrinsic, %Promise.prototype%). Promise instances are initially created with the internal slots described in .

- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[PromiseState]] @@ -47828,17 +47972,19 @@

Properties of Generator Instances

Generator instances are initially created with the internal slots described in .

- - - - - + + + + + + +
- Internal Slot - - Type - - Description -
+ Internal Slot + + Type + + Description +
[[GeneratorState]] @@ -48179,11 +48325,13 @@

Properties of AsyncGenerator Instances

AsyncGenerator instances are initially created with the internal slots described below:

- - - - - + + + + + + + @@ -48217,11 +48365,13 @@

AsyncGeneratorRequest Records

They have the following fields:

Internal SlotTypeDescription
Internal SlotTypeDescription
[[AsyncGeneratorState]] *undefined*, ~suspended-start~, ~suspended-yield~, ~executing~, ~awaiting-return~, or ~completed~
- - - - - + + + + + + + @@ -48947,11 +49097,13 @@

Memory Model Fundamentals

Field NameValueMeaning
Field NameValueMeaning
[[Completion]] a Completion Record
- - - - - + + + + + + + @@ -48982,11 +49134,13 @@

Memory Model Fundamentals

Field NameValueMeaning
Field NameValueMeaning
[[Order]] ~seq-cst~ or ~unordered~
- - - - - + + + + + + + @@ -49022,11 +49176,13 @@

Memory Model Fundamentals

Field NameValueMeaning
Field NameValueMeaning
[[Order]] ~seq-cst~, ~unordered~, or ~init~
- - - - - + + + + + + + @@ -49080,11 +49236,13 @@

Agent Events Records

An Agent Events Record is a Record with the following fields.

Field NameValueMeaning
Field NameValueMeaning
[[Order]] ~seq-cst~
- - - - - + + + + + + + @@ -49109,11 +49267,13 @@

Chosen Value Records

A Chosen Value Record is a Record with the following fields.

Field NameValueMeaning
Field NameValueMeaning
[[AgentSignifier]] an agent signifier
- - - - - + + + + + + + @@ -49133,11 +49293,13 @@

Candidate Executions

A candidate execution of the evaluation of an agent cluster is a Record with the following fields.

Field NameValueMeaning
Field NameValueMeaning
[[Event]] a Shared Data Block event
- - - - - + + + + + + + @@ -50358,17 +50520,19 @@

Additional Properties of the Global Object

The entries in are added to .

Field NameValueMeaning
Field NameValueMeaning
[[EventsRecords]] a List of Agent Events Records
- - - - - + + + + + + +
- Intrinsic Name - - Global Name - - ECMAScript Language Association -
+ Intrinsic Name + + Global Name + + ECMAScript Language Association +
%escape%