Skip to content

Glossary

Each entry is derived from a <dfn> element in the official ECMAScript spec.html (189 terms in this edition) and links to where the term is defined. This glossary page is generated as a reading aid and is not itself part of the specification.

A

abrupt completion
The term “abrupt completion” refers to any completion with a [[Type]] value other than normal. §6.2.3 The Completion Record Specification Type
abstract operations
In order to facilitate their use in multiple parts of this specification, some algorithms, called abstract operations, are named and written in parameterized functional form so that they may be referenced by name from within other algorith… §5.2 Algorithm Conventions
accessor property
An accessor property associates a key value with one or two accessor functions, and a set of Boolean attributes. The accessor functions are used to store or retrieve an ECMAScript language value that is associated with the property. §6.1.7 The Object Type
active function object
The value of the Function component of the running execution context is also called the active function object. §8.3 Execution Contexts
agent
An agent comprises a set of ECMAScript execution contexts, an execution context stack, a running execution context, a set of named job queues, an Agent Record, and an executing thread. Except for the executing thread, the constituents of a… §8.7 Agents
agent cluster
An agent cluster is a maximal set of agents that can communicate by operating on shared memory. §8.8 Agent Clusters
Agent Events Record
An Agent Events Record is a Record with the following fields. §27.2 Agent Events Records
agent-order slice
Let an agent-order slice be the subset of the agent-order pertaining to a single agent. §27.11 Shared Memory Guidelines
Agent Record
An agent comprises a set of ECMAScript execution contexts, an execution context stack, a running execution context, a set of named job queues, an Agent Record, and an executing thread. Except for the executing thread, the constituents of a… §8.7 Agents
%Array%
is the intrinsic object %Array%. §22.1.1 The Array Constructor
%ArrayBuffer%
is the intrinsic object %ArrayBuffer%. §24.1.2 The ArrayBuffer Constructor
%ArrayBufferPrototype%
is the intrinsic object %ArrayBufferPrototype%. §24.1.4 Properties of the ArrayBuffer Prototype Object
array index
An array index is an integer index whose numeric value i is in the range +0 ≤ i < 232 - 1. §6.1.7 The Object Type
%ArrayIteratorPrototype%
The %ArrayIteratorPrototype% object: §22.1.5.2 The %ArrayIteratorPrototype% Object
%ArrayProto_entries%
This function is the %ArrayProto_entries% intrinsic object. §22.1.3.4 Array.prototype.entries ( )
%ArrayProto_forEach%
This function is the %ArrayProto_forEach% intrinsic object. §22.1.3.12 Array.prototype.forEach ( callbackfn [ , thisArg ] )
%ArrayProto_keys%
This function is the %ArrayProto_keys% intrinsic object. §22.1.3.16 Array.prototype.keys ( )
%ArrayPrototype%
is the intrinsic object %ArrayPrototype%. §22.1.3 Properties of the Array Prototype Object
%ArrayProto_values%
This function is the %ArrayProto_values% intrinsic object. §22.1.3.32 Array.prototype.values ( )
Assert
A step that begins with “Assert:” asserts an invariant condition of its algorithm. Such assertions are used to make explicit algorithmic invariants that would otherwise be implicit. Such assertions add no additional semantic requirements a… §5.2 Algorithm Conventions
%AsyncFromSyncIteratorPrototype%
The %AsyncFromSyncIteratorPrototype% object: §25.1.4.2 The %AsyncFromSyncIteratorPrototype% Object
%AsyncFunction%
is the intrinsic object %AsyncFunction%. §25.7.1 The AsyncFunction Constructor
%AsyncFunctionPrototype%
is the intrinsic object %AsyncFunctionPrototype%. §25.7.3 Properties of the AsyncFunction Prototype Object
%AsyncGenerator%
The initial value of AsyncGeneratorFunction.prototype is the intrinsic object %AsyncGenerator%. §25.3.2.2 AsyncGeneratorFunction.prototype
%AsyncGeneratorFunction%
is the intrinsic object %AsyncGeneratorFunction%. §25.3.1 The AsyncGeneratorFunction Constructor
%AsyncGeneratorPrototype%
is the intrinsic object %AsyncGeneratorPrototype%. §25.5.1 Properties of the AsyncGenerator Prototype Object
%AsyncIteratorPrototype%
The %AsyncIteratorPrototype% object: §25.1.3 The %AsyncIteratorPrototype% Object
%Atomics%
is the intrinsic object %Atomics%. §24.4 The Atomics Object

B

%Boolean%
is the intrinsic object %Boolean%. §19.3.1 The Boolean Constructor
%BooleanPrototype%
is the intrinsic object %BooleanPrototype%. §19.3.3 Properties of the Boolean Prototype Object
bound function
A bound function is an exotic object that wraps another function object. A bound function is callable (it has a [[Call]] internal method and may have a [[Construct]] internal method). Calling a bound function generally results in a call of… §9.4.1 Bound Function Exotic Objects

C

candidate execution
A candidate execution of the evaluation of an agent cluster is a Record with the following fields. §27.4 Candidate Executions
chain production
A chain production is a production that has exactly one nonterminal symbol on its right-hand side along with zero or more terminal symbols. §5.1.1 Context-Free Grammars
Chosen Value Record
A Chosen Value Record is a Record with the following fields. §27.3 Chosen Value Records
Completion Record
Such values are referred to as Completion Records. §6.2.3 The Completion Record Specification Type
constructor
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… §6.1.7.2 Object Internal Methods and Internal Slots
covered
Subsequently, algorithms access the result of the parse using a phrase of the form "the N that is covered by P". This will always be a Parse Node (an instance of N, unique for a given P), since any parsing failure would have been detected … §5.1.4 The Syntactic Grammar
covering
Typically, an early error rule will then define an error condition if "P is not covering an N", where P is a Parse Node (an instance of the generalized production) and N is a nonterminal from the supplemental grammar. Here, the sequence of… §5.1.4 The Syntactic Grammar
Cyclic Module Record
A Cyclic Module Record is used to represent information about a module that can participate in dependency cycles with other modules that are subclasses of the Cyclic Module Record type. Module Records that are not subclasses of the Cyclic … §15.2.1.16 Cyclic Module Records

D

Data Block
The Data Block specification type is used to describe a distinct and mutable sequence of byte-sized (8 bit) numeric values. A Data Block value is created with a fixed number of bytes that each have the initial value 0. §6.2.7 Data Blocks
data property
A data property associates a key value with an ECMAScript language value and a set of Boolean attributes. §6.1.7 The Object Type
%DataView%
is the intrinsic object %DataView%. §24.3.2 The DataView Constructor
%DataViewPrototype%
is the intrinsic object %DataViewPrototype%. §24.3.4 Properties of the DataView Prototype Object
%Date%
is the intrinsic object %Date%. §20.3.2 The Date Constructor
%DatePrototype%
is the intrinsic object %DatePrototype%. §20.3.4 Properties of the Date Prototype Object
%decodeURI%
The decodeURI function is the %decodeURI% intrinsic object. When the decodeURI function is called with one argument encodedURI, the following steps are taken: §18.2.6.2 decodeURI ( encodedURI )
%decodeURIComponent%
The decodeURIComponent function is the %decodeURIComponent% intrinsic object. When the decodeURIComponent function is called with one argument encodedURIComponent, the following steps are taken: §18.2.6.3 decodeURIComponent ( encodedURIComponent )
direct eval
A CallExpression evaluation that executes step 6.a.vii is a direct eval. §12.3.4.1 Runtime Semantics: Evaluation
Directive Prologue
A Directive Prologue is the longest sequence of ExpressionStatements occurring as the initial StatementListItems or ModuleItems of a FunctionBody, a ScriptBody, or a ModuleBody and where each ExpressionStatement in the sequence consists en… §14.1.1 Directive Prologues and the Use Strict Directive

E

early error
An early error is an error that can be detected and reported prior to the evaluation of any construct in the Script containing the error. The presence of an early error prevents the evaluation of the construct. An implementation must repor… §16 Error Handling and Language Extensions
Early Error Rule
A special kind of static semantic rule is an Early Error Rule. Early error rules define early error conditions (see clause 16) that are associated with specific grammar productions. Evaluation of most early error rules are not explicitly i… §5.2.4 Static Semantics
ECMAScript language type
An ECMAScript language type corresponds to values that are directly manipulated by an ECMAScript programmer using the ECMAScript language. The ECMAScript language types are Undefined, Null, Boolean, String, Symbol, Number, and Object. An E… §6.1 ECMAScript Language Types
ECMAScript language value
An ECMAScript language value is a value that is characterized by an ECMAScript language type. §6.1 ECMAScript Language Types
empty candidate execution
An empty candidate execution is a candidate execution Record whose fields are empty Lists and Relations. §27.4 Candidate Executions
%encodeURI%
The encodeURI function is the %encodeURI% intrinsic object. When the encodeURI function is called with one argument uri, the following steps are taken: §18.2.6.4 encodeURI ( uri )
%encodeURIComponent%
The encodeURIComponent function is the %encodeURIComponent% intrinsic object. When the encodeURIComponent function is called with one argument uriComponent, the following steps are taken: §18.2.6.5 encodeURIComponent ( uriComponent )
Environment Record
There are two primary kinds of Environment Record values used in this specification: declarative Environment Records and object Environment Records. Declarative Environment Records are used to define the effect of ECMAScript language synta… §8.1.1 Environment Records
EnvironmentRecord
It is referred to as the Lexical Environment's EnvironmentRecord. §8.1 Lexical Environments
%Error%
is the intrinsic object %Error%. §19.5.1 The Error Constructor
%ErrorPrototype%
is the intrinsic object %ErrorPrototype%. §19.5.3 Properties of the Error Prototype Object
%escape%
The escape function is the %escape% intrinsic object. When the escape function is called with one argument string, the following steps are taken: §B.2.1.1 escape ( string )
%eval%
The eval function is the %eval% intrinsic object. When the eval function is called with one argument x, the following steps are taken: §18.2.1 eval ( x )
executing thread
An agent comprises a set of ECMAScript execution contexts, an execution context stack, a running execution context, a set of named job queues, an Agent Record, and an executing thread. Except for the executing thread, the constituents of a… §8.7 Agents
execution context
An execution context is a specification device that is used to track the runtime evaluation of code by an ECMAScript implementation. At any point in time, there is at most one execution context per agent that is actually executing code. Th… §8.3 Execution Contexts
execution context stack
The execution context stack is used to track execution contexts. The running execution context is always the top element of this stack. A new execution context is created whenever control is transferred from the executable code associated … §8.3 Execution Contexts
exotic object
An exotic object is any form of object whose property semantics differ in any way from the default semantics. §6.1.7 The Object Type
ExportEntry Record
An ExportEntry Record is a Record that digests information about a single declarative export. Each ExportEntry Record has the fields defined in Table 44: §15.2.1.17 Source Text Module Records

F

%Function%
is the intrinsic object %Function%. §19.2.1 The Function Constructor
function environment
A function environment is a Lexical Environment that corresponds to the invocation of an ECMAScript function object. A function environment may establish a new this binding. A function environment also captures the state necessary to suppo… §8.1 Lexical Environments
function Environment Record
A function Environment Record is a declarative Environment Record that is used to represent the top-level scope of a function and, if the function is not an ArrowFunction, provides a this binding. If a function is not an ArrowFunction func… §8.1.1.3 Function Environment Records
function object
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 construct… §6.1.7.2 Object Internal Methods and Internal Slots
%FunctionPrototype%
is the intrinsic object %FunctionPrototype%. §19.2.3 Properties of the Function Prototype Object

G

%Generator%
is the intrinsic object %Generator% (see Figure 2). §25.2.3 Properties of the GeneratorFunction Prototype Object
%GeneratorFunction%
is the intrinsic object %GeneratorFunction%. §25.2.1 The GeneratorFunction Constructor
%GeneratorPrototype%
is the intrinsic object %GeneratorPrototype%. §25.4.1 Properties of the Generator Prototype Object
global environment
A global environment is a Lexical Environment which does not have an outer environment. The global environment's outer environment reference is null. A global environment's EnvironmentRecord may be prepopulated with identifier bindings and… §8.1 Lexical Environments
global object
The global object: §18 The Global Object
goal symbol
Starting from a sentence consisting of a single distinguished nonterminal, called the goal symbol, a given context-free grammar specifies a language, namely, the (perhaps infinite) set of possible sequences of terminal symbols that can res… §5.1.1 Context-Free Grammars

H

high-surrogate code unit
Such operations apply special treatment to every code unit with a numeric value in the inclusive range 0xD800 to 0xDBFF (defined by the Unicode Standard as a leading surrogate, or more formally as a high-surrogate code unit) and every code… §6.1.4 The String Type

I

immutable prototype exotic object
An immutable prototype exotic object is an exotic object that has a [[Prototype]] internal slot that will not change once it is initialized. §9.4.7 Immutable Prototype Exotic Objects
ImportEntry Record
An ImportEntry Record is a Record that digests information about a single declarative import. Each ImportEntry Record has the fields defined in Table 42: §15.2.1.17 Source Text Module Records
integer index
An integer index is a String-valued property key that is a canonical numeric String (see 7.1.16) and whose numeric value is either +0 or a positive integer ≤ 253 - 1. An array index is an integer index whose numeric value i is in the range… §6.1.7 The Object Type
Integer-Indexed exotic object
An Integer-Indexed exotic object is an exotic object that performs special handling of integer index property keys. §9.4.5 Integer-Indexed Exotic Objects
%isFinite%
The isFinite function is the %isFinite% intrinsic object. When the isFinite function is called with one argument number, the following steps are taken: §18.2.2 isFinite ( number )
[[IsHTMLDDA]] internal slot
An [[IsHTMLDDA]] internal slot may exist on implementation-defined objects. Objects with an [[IsHTMLDDA]] internal slot behave like undefined in the ToBoolean and Abstract Equality Comparison abstract operations and when used as an operand… §B.3.7 The [[IsHTMLDDA]] Internal Slot
%isNaN%
The isNaN function is the %isNaN% intrinsic object. When the isNaN function is called with one argument number, the following steps are taken: §18.2.3 isNaN ( number )
%IteratorPrototype%
The %IteratorPrototype% object: §25.1.2 The %IteratorPrototype% Object

J

%JSON%
is the intrinsic object %JSON%. §24.5 The JSON Object
%JSONParse%
This function is the %JSONParse% intrinsic object. §24.5.1 JSON.parse ( text [ , reviver ] )

L

leading surrogate
Such operations apply special treatment to every code unit with a numeric value in the inclusive range 0xD800 to 0xDBFF (defined by the Unicode Standard as a leading surrogate, or more formally as a high-surrogate code unit) and every code… §6.1.4 The String Type
Lexical Environment
A Lexical Environment is a specification type used to define the association of Identifiers to specific variables and functions based upon the lexical nesting structure of ECMAScript code. A Lexical Environment consists of an Environment R… §8.1 Lexical Environments
List
The List type is used to explain the evaluation of argument lists (see 12.3.6) in new expressions, in function calls, and in other algorithms where a simple ordered list of values is needed. Values of the List type are simply ordered seque… §6.2.1 The List and Record Specification Types
LocalTZA( t, false )
When isUTC is false, LocalTZA( t, false ) should return the offset of the local time zone from UTC measured in milliseconds at local time represented by time value tlocal = t. When the result is subtracted from the local time tlocal, it sh… §20.3.1.7 LocalTZA ( t, isUTC )
LocalTZA( t, true )
When isUTC is true, LocalTZA( t, true ) should return the offset of the local time zone from UTC measured in milliseconds at time represented by time value t (UTC). When the result is added to t (UTC), it should yield the local time. §20.3.1.7 LocalTZA ( t, isUTC )
low-surrogate code unit
Such operations apply special treatment to every code unit with a numeric value in the inclusive range 0xD800 to 0xDBFF (defined by the Unicode Standard as a leading surrogate, or more formally as a high-surrogate code unit) and every code… §6.1.4 The String Type

M

%Map%
is the intrinsic object %Map%. §23.1.1 The Map Constructor
%MapIteratorPrototype%
The %MapIteratorPrototype% object: §23.1.5.2 The %MapIteratorPrototype% Object
%MapPrototype%
is the intrinsic object %MapPrototype%. §23.1.3 Properties of the Map Prototype Object
%Math%
is the intrinsic object %Math%. §20.2 The Math Object
memory model
The memory consistency model, or memory model, specifies the possible orderings of Shared Data Block events, arising via accessing TypedArray instances backed by a SharedArrayBuffer and via methods on the Atomics object. When the program h… §27 Memory Model
module environment
A module environment is a Lexical Environment that contains the bindings for the top level declarations of a Module. It also contains the bindings that are explicitly imported by the Module. The outer environment of a module environment is… §8.1 Lexical Environments
Module Record
A Module Record encapsulates structural information about the imports and exports of a single module. This information is used to link the imports and exports of sets of connected modules. A Module Record includes four fields that are only… §15.2.1.15 Abstract Module Records

N

non-strict code
ECMAScript code that is not strict mode code is called non-strict code. §10.2.1 Strict Mode Code
non-strict function
One whose code is not strict mode code is called a non-strict function. §9.2 ECMAScript Function Objects
%Number%
is the intrinsic object %Number%. §20.1.1 The Number Constructor
%NumberPrototype%
is the intrinsic object %NumberPrototype%. §20.1.3 Properties of the Number Prototype Object

O

%Object%
is the intrinsic object %Object%. §19.1.1 The Object Constructor
%ObjectPrototype%
is the intrinsic object %ObjectPrototype%. §19.1.3 Properties of the Object Prototype Object
%ObjProto_toString%
This function is the %ObjProto_toString% intrinsic object. §19.1.3.6 Object.prototype.toString ( )
%ObjProto_valueOf%
This function is the %ObjProto_valueOf% intrinsic object. §19.1.3.7 Object.prototype.valueOf ( )
Ordinary objects
Ordinary objects are the most common form of objects and have the default object semantics. An exotic object is any form of object whose property semantics differ in any way from the default semantics. §6.1.7 The Object Type

P

%parseFloat%
The parseFloat function is the %parseFloat% intrinsic object. When the parseFloat function is called with one argument string, the following steps are taken: §18.2.4 parseFloat ( string )
%parseInt%
The parseInt function is the %parseInt% intrinsic object. When the parseInt function is called, the following steps are taken: §18.2.5 parseInt ( string, radix )
Parse Node
When a parse is successful, it constructs a parse tree, a rooted tree structure in which each node is a Parse Node. Each Parse Node is an instance of a symbol in the grammar; it represents a span of the source text that can be derived from… §5.1.4 The Syntactic Grammar
possible read values
Let possible read values of a read event be the set of all values of ValueOfReadEvent for that event across all valid executions. §27.11 Shared Memory Guidelines
%Promise%
is the intrinsic object %Promise%. §25.6.3 The Promise Constructor
%Promise_all%
This function is the %Promise_all% intrinsic object. §25.6.4.1 Promise.all ( iterable )
%PromiseProto_then%
This function is the %PromiseProto_then% intrinsic object. §25.6.5.4 Promise.prototype.then ( onFulfilled, onRejected )
%PromisePrototype%
is the intrinsic object %PromisePrototype%. §25.6.5 Properties of the Promise Prototype Object
%Promise_reject%
This function is the %Promise_reject% intrinsic object. §25.6.4.4 Promise.reject ( r )
%Promise_resolve%
This function is the %Promise_resolve% intrinsic object. §25.6.4.5 Promise.resolve ( x )
Property Descriptor
The Property Descriptor type is used to explain the manipulation and reification of Object property attributes. Values of the Property Descriptor type are Records. Each field's name is an attribute name and its value is a corresponding att… §6.2.5 The Property Descriptor Specification Type
property name
A property name is a property key that is a String value. §6.1.7 The Object Type
%Proxy%
is the intrinsic object %Proxy%. §26.2.1 The Proxy Constructor

R

ReadModifyWriteSharedMemory
A Shared Data Block event is either a ReadSharedMemory, WriteSharedMemory, or ReadModifyWriteSharedMemory Record. §27.1 Memory Model Fundamentals
ReadSharedMemory
A Shared Data Block event is either a ReadSharedMemory, WriteSharedMemory, or ReadModifyWriteSharedMemory Record. §27.1 Memory Model Fundamentals
realm
Before it is evaluated, all ECMAScript code must be associated with a realm. Conceptually, a realm consists of a set of intrinsic objects, an ECMAScript global environment, all of the ECMAScript code that is loaded within the scope of that… §8.2 Realms
Realm Record
A realm is represented in this specification as a Realm Record with the fields specified in Table 20: §8.2 Realms
Record
The Record type is used to describe data aggregations within the algorithms of this specification. A Record type value consists of one or more named fields. The value of each field is either an ECMAScript value or an abstract value represe… §6.2.1 The List and Record Specification Types
Reference
A Reference is a resolved name or property binding. A Reference consists of three components, the base value component, the referenced name component, and the Boolean-valued strict reference flag. The base value component is either undefin… §6.2.4 The Reference Specification Type
%Reflect%
is the intrinsic object %Reflect%. §26.1 The Reflect Object
%RegExp%
is the intrinsic object %RegExp%. §21.2.3 The RegExp Constructor
%RegExpPrototype%
is the intrinsic object %RegExpPrototype%. §21.2.5 Properties of the RegExp Prototype Object
Relation
The Relation type is used to explain constraints on Sets. Values of the Relation type are Sets of ordered pairs of values from its value domain. For example, a Relation on events is a set of ordered pairs of events. For a Relation R and tw… §6.2.2 The Set and Relation Specification Types
ResolvedBinding Record
Bindings are represented by a ResolvedBinding Record, of the form { [[Module]]: Module Record, [[BindingName]]: String }. Return null if the name cannot be resolved, or "ambiguous" if multiple bindings were found. §15.2.1.15 Abstract Module Records
running execution context
This is known as the agent's running execution context. All references to the running execution context in this specification denote the running execution context of the surrounding agent. §8.3 Execution Contexts
runtime semantics
Algorithms which specify semantics that must be called at runtime are called runtime semantics. Runtime semantics are defined by abstract operations or syntax-directed operations. Such algorithms always return a completion record. §5.2.3 Runtime Semantics

S

Script Record
A Script Record encapsulates information about a script being evaluated. Each script record contains the fields listed in Table 36. §15.1.8 Script Records
%Set%
is the intrinsic object %Set%. §23.2.1 The Set Constructor
Set
The Set type is used to explain a collection of unordered elements for use in the memory model. Values of the Set type are simple collections of elements, where no element appears more than once. Elements may be added to and removed from S… §6.2.2 The Set and Relation Specification Types
%SetIteratorPrototype%
The %SetIteratorPrototype% object: §23.2.5.2 The %SetIteratorPrototype% Object
%SetPrototype%
is the intrinsic object %SetPrototype%. §23.2.3 Properties of the Set Prototype Object
%SharedArrayBuffer%
is the intrinsic object %SharedArrayBuffer%. §24.2.2 The SharedArrayBuffer Constructor
%SharedArrayBufferPrototype%
is the intrinsic object %SharedArrayBufferPrototype%. §24.2.4 Properties of the SharedArrayBuffer Prototype Object
Shared Data Block
A data block that resides in memory that can be referenced from multiple agents concurrently is designated a Shared Data Block. A Shared Data Block has an identity (for the purposes of equality testing Shared Data Block values) that is add… §6.2.7 Data Blocks
Shared Data Block event
A Shared Data Block event is either a ReadSharedMemory, WriteSharedMemory, or ReadModifyWriteSharedMemory Record. §27.1 Memory Model Fundamentals
source text matched by
The source text matched by a grammar production is the portion of the source text that starts at the beginning of the first terminal that participated in the match and ends at the end of the last terminal that participated in the match. §5.2 Algorithm Conventions
Source Text Module Record
A Source Text Module Record is used to represent information about a module that was defined from ECMAScript source text (10) that was parsed using the goal symbol Module. Its fields contain digested information about the names that are im… §15.2.1.17 Source Text Module Records
static semantics
Such rules are always associated with a production of a grammar and are called the static semantics of the production. §5.2.4 Static Semantics
strict function
An ECMAScript function object whose code is strict mode code is called a strict function. One whose code is not strict mode code is called a non-strict function. §9.2 ECMAScript Function Objects
strict mode code
Code is interpreted as strict mode code in the following situations: §10.2.1 Strict Mode Code
strict partial order
A strict partial order is a Relation value R that satisfies the following. §6.2.2 The Set and Relation Specification Types
strict total order
A strict total order is a Relation value R that satisfies the following. §6.2.2 The Set and Relation Specification Types
%String%
is the intrinsic object %String%. §21.1.1 The String Constructor
string-concatenation
In this specification, the phrase "the string-concatenation of A, B, ..." (where each argument is a String value, a code unit, or a sequence of code units) denotes the String value whose sequence of code units is the concatenation of the c… §6.1.4 The String Type
%StringIteratorPrototype%
The %StringIteratorPrototype% object: §21.1.5.2 The %StringIteratorPrototype% Object
%StringPrototype%
is the intrinsic object %StringPrototype%. §21.1.3 Properties of the String Prototype Object
Super Reference
A Super Reference is a Reference that is used to represent a name binding that was expressed using the super keyword. A Super Reference has an additional thisValue component, and its base value component will never be an Environment Record. §6.2.4 The Reference Specification Type
surrogate pair
A sequence of two code units, where the first code unit c1 is a leading surrogate and the second code unit c2 a trailing surrogate, is a surrogate pair and is interpreted as a code point with the value (c1 - 0xD800) × 0x400 + (c2 - 0xDC00)… §6.1.4 The String Type
surrounding agent
While an agent's executing thread executes the jobs in the agent's job queues, the agent is the surrounding agent for the code in those jobs. The code uses the surrounding agent to access the specification level execution objects held with… §8.7 Agents
%Symbol%
is the intrinsic object %Symbol%. §19.4.1 The Symbol Constructor
%SymbolPrototype%
is the intrinsic object %SymbolPrototype%. §19.4.3 Properties of the Symbol Prototype Object
Synchronize
Some operations may also introduce Synchronize events. A Synchronize event has no fields, and exists purely to directly constrain the permitted orderings of other events. §27.1 Memory Model Fundamentals
Synchronize event
Some operations may also introduce Synchronize events. A Synchronize event has no fields, and exists purely to directly constrain the permitted orderings of other events. §27.1 Memory Model Fundamentals
syntax-directed operation
A syntax-directed operation is a named operation whose definition consists of algorithms, each of which is associated with one or more productions from one of the ECMAScript grammars. A production that has multiple alternative definitions … §5.2 Algorithm Conventions

T

the current Realm Record
The value of the Realm component of the running execution context is also called the current Realm Record. The value of the Function component of the running execution context is also called the active function object. §8.3 Execution Contexts
the same Parse Node
Parse Nodes are considered the same Parse Node if and only if they represent the same span of source text, are instances of the same grammar symbol, and resulted from the same parser invocation. §5.1.4 The Syntactic Grammar
thisBooleanValue
The abstract operation thisBooleanValue(value) performs the following steps: §19.3.3 Properties of the Boolean Prototype Object
this Date object
In following descriptions of functions that are properties of the Date prototype object, the phrase “this Date object” refers to the object that is the this value for the invocation of the function. If the Type of the this value is not Obj… §20.3.4 Properties of the Date Prototype Object
thisNumberValue
The abstract operation thisNumberValue(value) performs the following steps: §20.1.3 Properties of the Number Prototype Object
thisStringValue
The abstract operation thisStringValue(value) performs the following steps: §21.1.3 Properties of the String Prototype Object
thisSymbolValue
The abstract operation thisSymbolValue(value) performs the following steps: §19.4.3 Properties of the Symbol Prototype Object
this time value
The phrase “this time value” within the specification of a method refers to the result returned by calling the abstract operation thisTimeValue with the this value of the method invocation passed as the argument. §20.3.4 Properties of the Date Prototype Object
thisTimeValue
The abstract operation thisTimeValue(value) performs the following steps: §20.3.4 Properties of the Date Prototype Object
%ThrowTypeError%
The %ThrowTypeError% intrinsic is an anonymous built-in function object that is defined once for each realm. When %ThrowTypeError% is called it performs the following steps: §9.2.9.1 %ThrowTypeError% ( )
time value
Such a Number is called a time value. A time value may also be NaN, indicating that the Date object does not represent a specific instant in time. §20.3.1.1 Time Values and Time Range
tlocal = t
When isUTC is false, LocalTZA( t, false ) should return the offset of the local time zone from UTC measured in milliseconds at local time represented by time value tlocal = t. When the result is subtracted from the local time tlocal, it sh… §20.3.1.7 LocalTZA ( t, isUTC )
trailing surrogate
Such operations apply special treatment to every code unit with a numeric value in the inclusive range 0xD800 to 0xDBFF (defined by the Unicode Standard as a leading surrogate, or more formally as a high-surrogate code unit) and every code… §6.1.4 The String Type
type
Within this specification, the notation “Type(x)” is used as shorthand for “the type of x” where “type” refers to the ECMAScript language and specification types defined in this clause. When the term “empty” is used as if it was naming a v… §6 ECMAScript Data Types and Values
%TypedArray%
The %TypedArray% intrinsic object: §22.2.1 The %TypedArray% Intrinsic Object
%TypedArrayPrototype%
The %TypedArrayPrototype% object: §22.2.3 Properties of the %TypedArrayPrototype% Object

U

%unescape%
The unescape function is the %unescape% intrinsic object. When the unescape function is called with one argument string, the following steps are taken: §B.2.1.2 unescape ( string )
Use Strict Directive
A Use Strict Directive is an ExpressionStatement in a Directive Prologue whose StringLiteral is either the exact code unit sequences "use strict" or 'use strict'. A Use Strict Directive may not contain an EscapeSequence or LineContinuation. §14.1.1 Directive Prologues and the Use Strict Directive

W

WaiterList
A WaiterList is a semantic object that contains an ordered list of those agents that are waiting on a location (block, i) in shared memory; block is a Shared Data Block and i a byte offset into the memory of block. §24.4.1.3 GetWaiterList ( block, i )
%WeakMap%
is the intrinsic object %WeakMap%. §23.3.1 The WeakMap Constructor
%WeakMapPrototype%
is the intrinsic object %WeakMapPrototype%. §23.3.3 Properties of the WeakMap Prototype Object
%WeakSet%
is the intrinsic object %WeakSet%. §23.4.1 The WeakSet Constructor
%WeakSetPrototype%
is the intrinsic object %WeakSetPrototype%. §23.4.3 Properties of the WeakSet Prototype Object
WriteSharedMemory
A Shared Data Block event is either a ReadSharedMemory, WriteSharedMemory, or ReadModifyWriteSharedMemory Record. §27.1 Memory Model Fundamentals