• Toggle shortcuts help?
  • Toggle "can call user code" annotationsu
  • Navigate to/from multipagem
  • Jump to search box/
  • Toggle pinning of the current clausep
  • Jump to the nth pin1-9
  • Jump to the 10th pin0
  • Jump to the most recent link target`
Menu
Pins
    Table of Contents
    1. Introduction
    2. 1 Scope
    3. +2 Conformance
      1. 2.1 Example Normative Optional Clause Heading
      2. 2.2 Example Legacy Clause Heading
      3. 2.3 Example Legacy Normative Optional Clause Heading
    4. 3 Normative References
    5. +4 Overview
      1. 4.1 Web Scripting
      2. 4.2 Hosts and Implementations
      3. +4.3 ECMAScript Overview
        1. 4.3.1 Objects
        2. 4.3.2 The Strict Variant of ECMAScript
      4. +4.4 Terms and Definitions
        1. 4.4.1 implementation-approximated
        2. 4.4.2 implementation-defined
        3. 4.4.3 host-defined
        4. 4.4.4 type
        5. 4.4.5 primitive value
        6. 4.4.6 object
        7. 4.4.7 constructor
        8. 4.4.8 prototype
        9. 4.4.9 ordinary object
        10. 4.4.10 exotic object
        11. 4.4.11 standard object
        12. 4.4.12 built-in object
        13. 4.4.13 undefined value
        14. 4.4.14 Undefined type
        15. 4.4.15 null value
        16. 4.4.16 Null type
        17. 4.4.17 Boolean value
        18. 4.4.18 Boolean type
        19. 4.4.19 Boolean object
        20. 4.4.20 String value
        21. 4.4.21 String type
        22. 4.4.22 String object
        23. 4.4.23 Number value
        24. 4.4.24 Number type
        25. 4.4.25 Number object
        26. 4.4.26 Infinity
        27. 4.4.27 NaN
        28. 4.4.28 BigInt value
        29. 4.4.29 BigInt type
        30. 4.4.30 BigInt object
        31. 4.4.31 Symbol value
        32. 4.4.32 Symbol type
        33. 4.4.33 Symbol object
        34. 4.4.34 function
        35. 4.4.35 built-in function
        36. 4.4.36 built-in constructor
        37. 4.4.37 property
        38. 4.4.38 method
        39. 4.4.39 built-in method
        40. 4.4.40 attribute
        41. 4.4.41 own property
        42. 4.4.42 inherited property
      5. 4.5 Organization of This Specification
    6. +5 Notational Conventions
      1. +5.1 Syntactic and Lexical Grammars
        1. 5.1.1 Context-Free Grammars
        2. 5.1.2 The Lexical and RegExp Grammars
        3. 5.1.3 The Numeric String Grammar
        4. 5.1.4 The Syntactic Grammar
        5. +5.1.5 Grammar Notation
          1. 5.1.5.1 Terminal Symbols
          2. 5.1.5.2 Nonterminal Symbols and Productions
          3. 5.1.5.3 Optional Symbols
          4. 5.1.5.4 Grammatical Parameters
          5. 5.1.5.5 one of
          6. 5.1.5.6 [empty]
          7. 5.1.5.7 Lookahead Restrictions
          8. 5.1.5.8 [no LineTerminator here]
          9. 5.1.5.9 but not
          10. 5.1.5.10 Descriptive Phrases
      2. +5.2 Algorithm Conventions
        1. 5.2.1 Abstract Operations
        2. 5.2.2 Syntax-Directed Operations
        3. +5.2.3 Runtime Semantics
          1. 5.2.3.1 Completion ( completionRecord )
          2. 5.2.3.2 Throw an Exception
          3. 5.2.3.3 ReturnIfAbrupt
          4. 5.2.3.4 ReturnIfAbrupt Shorthands
          5. 5.2.3.5 Implicit Normal Completion
        4. 5.2.4 Static Semantics
        5. 5.2.5 Mathematical Operations
        6. 5.2.6 Value Notation
        7. 5.2.7 Identity
    7. +6 ECMAScript Data Types and Values
      1. +6.1 ECMAScript Language Types
        1. 6.1.1 The Undefined Type
        2. 6.1.2 The Null Type
        3. 6.1.3 The Boolean Type
        4. +6.1.4 The String Type
          1. 6.1.4.1 StringIndexOf ( string, searchValue, fromIndex )
          2. 6.1.4.2 StringLastIndexOf ( string, searchValue, fromIndex )
        5. +6.1.5 The Symbol Type
          1. 6.1.5.1 Well-Known Symbols
        6. +6.1.6 Numeric Types
          1. +6.1.6.1 The Number Type
            1. 6.1.6.1.1 Number::unaryMinus ( x )
            2. 6.1.6.1.2 Number::bitwiseNOT ( x )
            3. 6.1.6.1.3 Number::exponentiate ( base, exponent )
            4. 6.1.6.1.4 Number::multiply ( x, y )
            5. 6.1.6.1.5 Number::divide ( x, y )
            6. 6.1.6.1.6 Number::remainder ( n, d )
            7. 6.1.6.1.7 Number::add ( x, y )
            8. 6.1.6.1.8 Number::subtract ( x, y )
            9. 6.1.6.1.9 Number::leftShift ( x, y )
            10. 6.1.6.1.10 Number::signedRightShift ( x, y )
            11. 6.1.6.1.11 Number::unsignedRightShift ( x, y )
            12. 6.1.6.1.12 Number::lessThan ( x, y )
            13. 6.1.6.1.13 Number::equal ( x, y )
            14. 6.1.6.1.14 Number::sameValue ( x, y )
            15. 6.1.6.1.15 Number::sameValueZero ( x, y )
            16. 6.1.6.1.16 NumberBitwiseOp ( op, x, y )
            17. 6.1.6.1.17 Number::bitwiseAND ( x, y )
            18. 6.1.6.1.18 Number::bitwiseXOR ( x, y )
            19. 6.1.6.1.19 Number::bitwiseOR ( x, y )
            20. 6.1.6.1.20 Number::toString ( x, radix )
          2. +6.1.6.2 The BigInt Type
            1. 6.1.6.2.1 BigInt::unaryMinus ( x )
            2. 6.1.6.2.2 BigInt::bitwiseNOT ( x )
            3. 6.1.6.2.3 BigInt::exponentiate ( base, exponent )
            4. 6.1.6.2.4 BigInt::multiply ( x, y )
            5. 6.1.6.2.5 BigInt::divide ( x, y )
            6. 6.1.6.2.6 BigInt::remainder ( n, d )
            7. 6.1.6.2.7 BigInt::add ( x, y )
            8. 6.1.6.2.8 BigInt::subtract ( x, y )
            9. 6.1.6.2.9 BigInt::leftShift ( x, y )
            10. 6.1.6.2.10 BigInt::signedRightShift ( x, y )
            11. 6.1.6.2.11 BigInt::unsignedRightShift ( x, y )
            12. 6.1.6.2.12 BigInt::lessThan ( x, y )
            13. 6.1.6.2.13 BigInt::equal ( x, y )
            14. 6.1.6.2.14 BinaryAnd ( x, y )
            15. 6.1.6.2.15 BinaryOr ( x, y )
            16. 6.1.6.2.16 BinaryXor ( x, y )
            17. 6.1.6.2.17 BigIntBitwiseOp ( op, x, y )
            18. 6.1.6.2.18 BigInt::bitwiseAND ( x, y )
            19. 6.1.6.2.19 BigInt::bitwiseXOR ( x, y )
            20. 6.1.6.2.20 BigInt::bitwiseOR ( x, y )
            21. 6.1.6.2.21 BigInt::toString ( x, radix )
        7. +6.1.7 The Object Type
          1. 6.1.7.1 Property Attributes
          2. 6.1.7.2 Object Internal Methods and Internal Slots
          3. 6.1.7.3 Invariants of the Essential Internal Methods
          4. 6.1.7.4 Well-Known Intrinsic Objects
      2. +6.2 ECMAScript Specification Types
        1. 6.2.1 The Enum Specification Type
        2. 6.2.2 The List and Record Specification Types
        3. 6.2.3 The Set and Relation Specification Types
        4. +6.2.4 The Completion Record Specification Type
          1. 6.2.4.1 NormalCompletion ( value )
          2. 6.2.4.2 ThrowCompletion ( value )
          3. 6.2.4.3 ReturnCompletion ( value )
          4. 6.2.4.4 UpdateEmpty ( completionRecord, value )
        5. +6.2.5 The Reference Record Specification Type
          1. 6.2.5.1 IsPropertyReference ( V )
          2. 6.2.5.2 IsUnresolvableReference ( V )
          3. 6.2.5.3 IsSuperReference ( V )
          4. 6.2.5.4 IsPrivateReference ( V )
          5. 6.2.5.5 GetValue ( V )
          6. 6.2.5.6 PutValue ( V, W )
          7. 6.2.5.7 GetThisValue ( V )
          8. 6.2.5.8 InitializeReferencedBinding ( V, W )
          9. 6.2.5.9 MakePrivateReference ( baseValue, privateIdentifier )
        6. +6.2.6 The Property Descriptor Specification Type
          1. 6.2.6.1 IsAccessorDescriptor ( Desc )
          2. 6.2.6.2 IsDataDescriptor ( Desc )
          3. 6.2.6.3 IsGenericDescriptor ( Desc )
          4. 6.2.6.4 FromPropertyDescriptor ( Desc )
          5. 6.2.6.5 ToPropertyDescriptor ( Obj )
          6. 6.2.6.6 CompletePropertyDescriptor ( Desc )
        7. 6.2.7 The Environment Record Specification Type
        8. 6.2.8 The Abstract Closure Specification Type
        9. +6.2.9 Data Blocks
          1. 6.2.9.1 CreateByteDataBlock ( size )
          2. 6.2.9.2 CreateSharedByteDataBlock ( size )
          3. 6.2.9.3 CopyDataBlockBytes ( toBlock, toIndex, fromBlock, fromIndex, count )
        10. 6.2.10 The PrivateElement Specification Type
        11. 6.2.11 The ClassFieldDefinition Record Specification Type
        12. 6.2.12 Private Names
        13. 6.2.13 The ClassStaticBlockDefinition Record Specification Type
    8. +7 Abstract Operations
      1. +7.1 Type Conversion
        1. +7.1.1 ToPrimitive ( input [ , preferredType ] )
          1. 7.1.1.1 OrdinaryToPrimitive ( O, hint )
        2. 7.1.2 ToBoolean ( argument )
        3. 7.1.3 ToNumeric ( value )
        4. +7.1.4 ToNumber ( argument )
          1. +7.1.4.1 ToNumber Applied to the String Type
            1. 7.1.4.1.1 StringToNumber ( str )
            2. 7.1.4.1.2 RS: StringNumericValue
            3. 7.1.4.1.3 RoundMVResult ( n )
        5. 7.1.5 ToIntegerOrInfinity ( argument )
        6. 7.1.6 ToInt32 ( argument )
        7. 7.1.7 ToUint32 ( argument )
        8. 7.1.8 ToInt16 ( argument )
        9. 7.1.9 ToUint16 ( argument )
        10. 7.1.10 ToInt8 ( argument )
        11. 7.1.11 ToUint8 ( argument )
        12. 7.1.12 ToUint8Clamp ( argument )
        13. 7.1.13 ToBigInt ( argument )
        14. +7.1.14 StringToBigInt ( str )
          1. 7.1.14.1 StringIntegerLiteral Grammar
          2. 7.1.14.2 RS: MV
        15. 7.1.15 ToBigInt64 ( argument )
        16. 7.1.16 ToBigUint64 ( argument )
        17. 7.1.17 ToString ( argument )
        18. 7.1.18 ToObject ( argument )
        19. 7.1.19 ToPropertyKey ( argument )
        20. 7.1.20 ToLength ( argument )
        21. 7.1.21 CanonicalNumericIndexString ( argument )
        22. 7.1.22 ToIndex ( value )
      2. +7.2 Testing and Comparison Operations
        1. 7.2.1 RequireObjectCoercible ( argument )
        2. 7.2.2 IsArray ( argument )
        3. 7.2.3 IsCallable ( argument )
        4. 7.2.4 IsConstructor ( argument )
        5. 7.2.5 IsExtensible ( O )
        6. 7.2.6 IsRegExp ( argument )
        7. 7.2.7 SS: IsStringWellFormedUnicode ( string )
        8. 7.2.8 SameType ( x, y )
        9. 7.2.9 SameValue ( x, y )
        10. 7.2.10 SameValueZero ( x, y )
        11. 7.2.11 SameValueNonNumber ( x, y )
        12. 7.2.12 IsLessThan ( x, y, LeftFirst )
        13. 7.2.13 IsLooselyEqual ( x, y )
        14. 7.2.14 IsStrictlyEqual ( x, y )
      3. +7.3 Operations on Objects
        1. 7.3.1 MakeBasicObject ( internalSlotsList )
        2. 7.3.2 Get ( O, P )
        3. 7.3.3 GetV ( V, P )
        4. 7.3.4 Set ( O, P, V, Throw )
        5. 7.3.5 CreateDataProperty ( O, P, V )
        6. 7.3.6 CreateDataPropertyOrThrow ( O, P, V )
        7. 7.3.7 CreateNonEnumerableDataPropertyOrThrow ( O, P, V )
        8. 7.3.8 DefinePropertyOrThrow ( O, P, desc )
        9. 7.3.9 DeletePropertyOrThrow ( O, P )
        10. 7.3.10 GetMethod ( V, P )
        11. 7.3.11 HasProperty ( O, P )
        12. 7.3.12 HasOwnProperty ( O, P )
        13. 7.3.13 Call ( F, V [ , argumentsList ] )
        14. 7.3.14 Construct ( F [ , argumentsList [ , newTarget ] ] )
        15. 7.3.15 SetIntegrityLevel ( O, level )
        16. 7.3.16 TestIntegrityLevel ( O, level )
        17. 7.3.17 CreateArrayFromList ( elements )
        18. 7.3.18 LengthOfArrayLike ( obj )
        19. 7.3.19 CreateListFromArrayLike ( obj [ , validElementTypes ] )
        20. 7.3.20 Invoke ( V, P [ , argumentsList ] )
        21. 7.3.21 OrdinaryHasInstance ( C, O )
        22. 7.3.22 SpeciesConstructor ( O, defaultConstructor )
        23. 7.3.23 EnumerableOwnProperties ( O, kind )
        24. 7.3.24 GetFunctionRealm ( obj )
        25. 7.3.25 CopyDataProperties ( target, source, excludedItems )
        26. 7.3.26 PrivateElementFind ( O, P )
        27. 7.3.27 PrivateFieldAdd ( O, P, value )
        28. 7.3.28 PrivateMethodOrAccessorAdd ( O, method )
        29. 7.3.29 HostEnsureCanAddPrivateElement ( O )
        30. 7.3.30 PrivateGet ( O, P )
        31. 7.3.31 PrivateSet ( O, P, value )
        32. 7.3.32 DefineField ( receiver, fieldRecord )
        33. 7.3.33 InitializeInstanceElements ( O, constructor )
        34. 7.3.34 AddValueToKeyedGroup ( groups, key, value )
        35. 7.3.35 GroupBy ( items, callback, keyCoercion )
        36. 7.3.36 SetterThatIgnoresPrototypeProperties ( thisValue, home, p, v )
      4. +7.4 Operations on Iterator Objects
        1. 7.4.1 Iterator Records
        2. 7.4.2 GetIteratorDirect ( obj )
        3. 7.4.3 GetIteratorFromMethod ( obj, method )
        4. 7.4.4 GetIterator ( obj, kind )
        5. 7.4.5 GetIteratorFlattenable ( obj, primitiveHandling )
        6. 7.4.6 IteratorNext ( iteratorRecord [ , value ] )
        7. 7.4.7 IteratorComplete ( iteratorResult )
        8. 7.4.8 IteratorValue ( iteratorResult )
        9. 7.4.9 IteratorStep ( iteratorRecord )
        10. 7.4.10 IteratorStepValue ( iteratorRecord )
        11. 7.4.11 IteratorClose ( iteratorRecord, completion )
        12. 7.4.12 IfAbruptCloseIterator ( value, iteratorRecord )
        13. 7.4.13 AsyncIteratorClose ( iteratorRecord, completion )
        14. 7.4.14 CreateIteratorResultObject ( value, done )
        15. 7.4.15 CreateListIteratorRecord ( list )
        16. 7.4.16 IteratorToList ( iteratorRecord )
    9. +8 Syntax-Directed Operations
      1. 8.1 RS: Evaluation
      2. +8.2 Scope Analysis
        1. 8.2.1 SS: BoundNames
        2. 8.2.2 SS: DeclarationPart
        3. 8.2.3 SS: IsConstantDeclaration
        4. 8.2.4 SS: LexicallyDeclaredNames
        5. 8.2.5 SS: LexicallyScopedDeclarations
        6. 8.2.6 SS: VarDeclaredNames
        7. 8.2.7 SS: VarScopedDeclarations
        8. 8.2.8 SS: TopLevelLexicallyDeclaredNames
        9. 8.2.9 SS: TopLevelLexicallyScopedDeclarations
        10. 8.2.10 SS: TopLevelVarDeclaredNames
        11. 8.2.11 SS: TopLevelVarScopedDeclarations
      3. +8.3 Labels
        1. 8.3.1 SS: ContainsDuplicateLabels
        2. 8.3.2 SS: ContainsUndefinedBreakTarget
        3. 8.3.3 SS: ContainsUndefinedContinueTarget
      4. +8.4 Function Name Inference
        1. 8.4.1 SS: HasName
        2. 8.4.2 SS: IsFunctionDefinition
        3. 8.4.3 SS: IsAnonymousFunctionDefinition ( expr )
        4. 8.4.4 SS: IsIdentifierRef
        5. 8.4.5 RS: NamedEvaluation
      5. +8.5 Contains
        1. 8.5.1 SS: Contains
        2. 8.5.2 SS: ComputedPropertyContains
      6. +8.6 Miscellaneous
        1. 8.6.1 RS: InstantiateFunctionObject
        2. +8.6.2 RS: BindingInitialization
          1. 8.6.2.1 InitializeBoundName ( name, value, environment )
        3. 8.6.3 RS: IteratorBindingInitialization
        4. 8.6.4 SS: AssignmentTargetType
        5. 8.6.5 SS: PropName
    10. +9 Executable Code and Execution Contexts
      1. +9.1 Environment Records
        1. +9.1.1 The Environment Record Type Hierarchy
          1. +9.1.1.1 Declarative Environment Records
            1. 9.1.1.1.1 HasBinding ( N )
            2. 9.1.1.1.2 CreateMutableBinding ( N, D )
            3. 9.1.1.1.3 CreateImmutableBinding ( N, S )
            4. 9.1.1.1.4 InitializeBinding ( N, V )
            5. 9.1.1.1.5 SetMutableBinding ( N, V, S )
            6. 9.1.1.1.6 GetBindingValue ( N, S )
            7. 9.1.1.1.7 DeleteBinding ( N )
            8. 9.1.1.1.8 HasThisBinding ( )
            9. 9.1.1.1.9 HasSuperBinding ( )
            10. 9.1.1.1.10 WithBaseObject ( )
          2. +9.1.1.2 Object Environment Records
            1. 9.1.1.2.1 HasBinding ( N )
            2. 9.1.1.2.2 CreateMutableBinding ( N, D )
            3. 9.1.1.2.3 CreateImmutableBinding ( N, S )
            4. 9.1.1.2.4 InitializeBinding ( N, V )
            5. 9.1.1.2.5 SetMutableBinding ( N, V, S )
            6. 9.1.1.2.6 GetBindingValue ( N, S )
            7. 9.1.1.2.7 DeleteBinding ( N )
            8. 9.1.1.2.8 HasThisBinding ( )
            9. 9.1.1.2.9 HasSuperBinding ( )
            10. 9.1.1.2.10 WithBaseObject ( )
          3. +9.1.1.3 Function Environment Records
            1. 9.1.1.3.1 BindThisValue ( envRec, V )
            2. 9.1.1.3.2 HasThisBinding ( )
            3. 9.1.1.3.3 HasSuperBinding ( )
            4. 9.1.1.3.4 GetThisBinding ( )
            5. 9.1.1.3.5 GetSuperBase ( envRec )
          4. +9.1.1.4 Global Environment Records
            1. 9.1.1.4.1 HasBinding ( N )
            2. 9.1.1.4.2 CreateMutableBinding ( N, D )
            3. 9.1.1.4.3 CreateImmutableBinding ( N, S )
            4. 9.1.1.4.4 InitializeBinding ( N, V )
            5. 9.1.1.4.5 SetMutableBinding ( N, V, S )
            6. 9.1.1.4.6 GetBindingValue ( N, S )
            7. 9.1.1.4.7 DeleteBinding ( N )
            8. 9.1.1.4.8 HasThisBinding ( )
            9. 9.1.1.4.9 HasSuperBinding ( )
            10. 9.1.1.4.10 WithBaseObject ( )
            11. 9.1.1.4.11 GetThisBinding ( )
            12. 9.1.1.4.12 HasLexicalDeclaration ( envRec, N )
            13. 9.1.1.4.13 HasRestrictedGlobalProperty ( envRec, N )
            14. 9.1.1.4.14 CanDeclareGlobalVar ( envRec, N )
            15. 9.1.1.4.15 CanDeclareGlobalFunction ( envRec, N )
            16. 9.1.1.4.16 CreateGlobalVarBinding ( envRec, N, D )
            17. 9.1.1.4.17 CreateGlobalFunctionBinding ( envRec, N, V, D )
          5. +9.1.1.5 Module Environment Records
            1. 9.1.1.5.1 GetBindingValue ( N, S )
            2. 9.1.1.5.2 DeleteBinding ( N )
            3. 9.1.1.5.3 HasThisBinding ( )
            4. 9.1.1.5.4 GetThisBinding ( )
            5. 9.1.1.5.5 CreateImportBinding ( envRec, N, M, N2 )
        2. +9.1.2 Environment Record Operations
          1. 9.1.2.1 GetIdentifierReference ( env, name, strict )
          2. 9.1.2.2 NewDeclarativeEnvironment ( E )
          3. 9.1.2.3 NewObjectEnvironment ( O, W, E )
          4. 9.1.2.4 NewFunctionEnvironment ( F, newTarget )
          5. 9.1.2.5 NewGlobalEnvironment ( G, thisValue )
          6. 9.1.2.6 NewModuleEnvironment ( E )
      2. +9.2 PrivateEnvironment Records
        1. +9.2.1 PrivateEnvironment Record Operations
          1. 9.2.1.1 NewPrivateEnvironment ( outerPrivateEnv )
          2. 9.2.1.2 ResolvePrivateIdentifier ( privateEnv, identifier )
      3. +9.3 Realms
        1. 9.3.1 InitializeHostDefinedRealm ( )
        2. 9.3.2 CreateIntrinsics ( realmRec )
        3. 9.3.3 SetDefaultGlobalBindings ( realmRec )
      4. +9.4 Execution Contexts
        1. 9.4.1 GetActiveScriptOrModule ( )
        2. 9.4.2 ResolveBinding ( name [ , env ] )
        3. 9.4.3 GetThisEnvironment ( )
        4. 9.4.4 ResolveThisBinding ( )
        5. 9.4.5 GetNewTarget ( )
        6. 9.4.6 GetGlobalObject ( )
      5. +9.5 Jobs and Host Operations to Enqueue Jobs
        1. 9.5.1 JobCallback Records
        2. 9.5.2 HostMakeJobCallback ( callback )
        3. 9.5.3 HostCallJobCallback ( jobCallback, V, argumentsList )
        4. 9.5.4 HostEnqueueGenericJob ( job, realm )
        5. 9.5.5 HostEnqueuePromiseJob ( job, realm )
        6. 9.5.6 HostEnqueueTimeoutJob ( timeoutJob, realm, milliseconds )
      6. +9.6 Agents
        1. 9.6.1 AgentSignifier ( )
        2. 9.6.2 AgentCanSuspend ( )
        3. 9.6.3 IncrementModuleAsyncEvaluationCount ( )
      7. 9.7 Agent Clusters
      8. 9.8 Forward Progress
      9. +9.9 Processing Model of WeakRef and FinalizationRegistry Targets
        1. 9.9.1 Objectives
        2. 9.9.2 Liveness
        3. 9.9.3 Execution
        4. +9.9.4 Host Hooks
          1. 9.9.4.1 HostEnqueueFinalizationRegistryCleanupJob ( finalizationRegistry )
      10. 9.10 ClearKeptObjects ( )
      11. 9.11 AddToKeptObjects ( value )
      12. 9.12 CleanupFinalizationRegistry ( finalizationRegistry )
      13. 9.13 CanBeHeldWeakly ( v )
    11. +10 Ordinary and Exotic Objects Behaviours
      1. +10.1 Ordinary Object Internal Methods and Internal Slots
        1. +10.1.1 [[GetPrototypeOf]] ( )
          1. 10.1.1.1 OrdinaryGetPrototypeOf ( O )
        2. +10.1.2 [[SetPrototypeOf]] ( V )
          1. 10.1.2.1 OrdinarySetPrototypeOf ( O, V )
        3. +10.1.3 [[IsExtensible]] ( )
          1. 10.1.3.1 OrdinaryIsExtensible ( O )
        4. +10.1.4 [[PreventExtensions]] ( )
          1. 10.1.4.1 OrdinaryPreventExtensions ( O )
        5. +10.1.5 [[GetOwnProperty]] ( P )
          1. 10.1.5.1 OrdinaryGetOwnProperty ( O, P )
        6. +10.1.6 [[DefineOwnProperty]] ( P, Desc )
          1. 10.1.6.1 OrdinaryDefineOwnProperty ( O, P, Desc )
          2. 10.1.6.2 IsCompatiblePropertyDescriptor ( Extensible, Desc, Current )
          3. 10.1.6.3 ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )
        7. +10.1.7 [[HasProperty]] ( P )
          1. 10.1.7.1 OrdinaryHasProperty ( O, P )
        8. +10.1.8 [[Get]] ( P, Receiver )
          1. 10.1.8.1 OrdinaryGet ( O, P, Receiver )
        9. +10.1.9 [[Set]] ( P, V, Receiver )
          1. 10.1.9.1 OrdinarySet ( O, P, V, Receiver )
          2. 10.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
        10. +10.1.10 [[Delete]] ( P )
          1. 10.1.10.1 OrdinaryDelete ( O, P )
        11. +10.1.11 [[OwnPropertyKeys]] ( )
          1. 10.1.11.1 OrdinaryOwnPropertyKeys ( O )
        12. 10.1.12 OrdinaryObjectCreate ( proto [ , additionalInternalSlotsList ] )
        13. 10.1.13 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
        14. 10.1.14 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
        15. 10.1.15 RequireInternalSlot ( O, internalSlot )
      2. +10.2 ECMAScript Function Objects
        1. +10.2.1 [[Call]] ( thisArgument, argumentsList )
          1. 10.2.1.1 PrepareForOrdinaryCall ( F, newTarget )
          2. 10.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
          3. 10.2.1.3 RS: EvaluateBody
          4. 10.2.1.4 OrdinaryCallEvaluateBody ( F, argumentsList )
        2. 10.2.2 [[Construct]] ( argumentsList, newTarget )
        3. 10.2.3 OrdinaryFunctionCreate ( functionPrototype, sourceText, ParameterList, Body, thisMode, env, privateEnv )
        4. +10.2.4 AddRestrictedFunctionProperties ( F, realm )
          1. 10.2.4.1 %ThrowTypeError% ( )
        5. 10.2.5 MakeConstructor ( F [ , writablePrototype [ , prototype ] ] )
        6. 10.2.6 MakeClassConstructor ( F )
        7. 10.2.7 MakeMethod ( F, homeObject )
        8. 10.2.8 DefineMethodProperty ( homeObject, key, closure, enumerable )
        9. 10.2.9 SetFunctionName ( F, name [ , prefix ] )
        10. 10.2.10 SetFunctionLength ( F, length )
        11. 10.2.11 FunctionDeclarationInstantiation ( func, argumentsList )
      3. +10.3 Built-in Function Objects
        1. 10.3.1 [[Call]] ( thisArgument, argumentsList )
        2. 10.3.2 [[Construct]] ( argumentsList, newTarget )
        3. 10.3.3 BuiltinCallOrConstruct ( F, thisArgument, argumentsList, newTarget )
        4. 10.3.4 CreateBuiltinFunction ( behaviour, length, name, additionalInternalSlotsList [ , realm [ , prototype [ , prefix ] ] ] )
      4. +10.4 Built-in Exotic Object Internal Methods and Slots
        1. +10.4.1 Bound Function Exotic Objects
          1. 10.4.1.1 [[Call]] ( thisArgument, argumentsList )
          2. 10.4.1.2 [[Construct]] ( argumentsList, newTarget )
          3. 10.4.1.3 BoundFunctionCreate ( targetFunction, boundThis, boundArgs )
        2. +10.4.2 Array Exotic Objects
          1. 10.4.2.1 [[DefineOwnProperty]] ( P, Desc )
          2. 10.4.2.2 ArrayCreate ( length [ , proto ] )
          3. 10.4.2.3 ArraySpeciesCreate ( originalArray, length )
          4. 10.4.2.4 ArraySetLength ( A, Desc )
        3. +10.4.3 String Exotic Objects
          1. 10.4.3.1 [[GetOwnProperty]] ( P )
          2. 10.4.3.2 [[DefineOwnProperty]] ( P, Desc )
          3. 10.4.3.3 [[OwnPropertyKeys]] ( )
          4. 10.4.3.4 StringCreate ( value, prototype )
          5. 10.4.3.5 StringGetOwnProperty ( S, P )
        4. +10.4.4 Arguments Exotic Objects
          1. 10.4.4.1 [[GetOwnProperty]] ( P )
          2. 10.4.4.2 [[DefineOwnProperty]] ( P, Desc )
          3. 10.4.4.3 [[Get]] ( P, Receiver )
          4. 10.4.4.4 [[Set]] ( P, V, Receiver )
          5. 10.4.4.5 [[Delete]] ( P )
          6. 10.4.4.6 CreateUnmappedArgumentsObject ( argumentsList )
          7. +10.4.4.7 CreateMappedArgumentsObject ( func, formals, argumentsList, env )
            1. 10.4.4.7.1 MakeArgGetter ( name, env )
            2. 10.4.4.7.2 MakeArgSetter ( name, env )
        5. +10.4.5 TypedArray Exotic Objects
          1. 10.4.5.1 [[PreventExtensions]] ( )
          2. 10.4.5.2 [[GetOwnProperty]] ( P )
          3. 10.4.5.3 [[HasProperty]] ( P )
          4. 10.4.5.4 [[DefineOwnProperty]] ( P, Desc )
          5. 10.4.5.5 [[Get]] ( P, Receiver )
          6. 10.4.5.6 [[Set]] ( P, V, Receiver )
          7. 10.4.5.7 [[Delete]] ( P )
          8. 10.4.5.8 [[OwnPropertyKeys]] ( )
          9. 10.4.5.9 TypedArray With Buffer Witness Records
          10. 10.4.5.10 MakeTypedArrayWithBufferWitnessRecord ( obj, order )
          11. 10.4.5.11 TypedArrayCreate ( prototype )
          12. 10.4.5.12 TypedArrayByteLength ( taRecord )
          13. 10.4.5.13 TypedArrayLength ( taRecord )
          14. 10.4.5.14 IsTypedArrayOutOfBounds ( taRecord )
          15. 10.4.5.15 IsTypedArrayFixedLength ( O )
          16. 10.4.5.16 IsValidIntegerIndex ( O, index )
          17. 10.4.5.17 TypedArrayGetElement ( O, index )
          18. 10.4.5.18 TypedArraySetElement ( O, index, value )
          19. 10.4.5.19 IsArrayBufferViewOutOfBounds ( O )
        6. +10.4.6 Module Namespace Exotic Objects
          1. 10.4.6.1 [[GetPrototypeOf]] ( )
          2. 10.4.6.2 [[SetPrototypeOf]] ( V )
          3. 10.4.6.3 [[IsExtensible]] ( )
          4. 10.4.6.4 [[PreventExtensions]] ( )
          5. 10.4.6.5 [[GetOwnProperty]] ( P )
          6. 10.4.6.6 [[DefineOwnProperty]] ( P, Desc )
          7. 10.4.6.7 [[HasProperty]] ( P )
          8. 10.4.6.8 [[Get]] ( P, Receiver )
          9. 10.4.6.9 [[Set]] ( P, V, Receiver )
          10. 10.4.6.10 [[Delete]] ( P )
          11. 10.4.6.11 [[OwnPropertyKeys]] ( )
          12. 10.4.6.12 ModuleNamespaceCreate ( module, exports )
        7. +10.4.7 Immutable Prototype Exotic Objects
          1. 10.4.7.1 [[SetPrototypeOf]] ( V )
          2. 10.4.7.2 SetImmutablePrototype ( O, V )
      5. +10.5 Proxy Object Internal Methods and Internal Slots
        1. 10.5.1 [[GetPrototypeOf]] ( )
        2. 10.5.2 [[SetPrototypeOf]] ( V )
        3. 10.5.3 [[IsExtensible]] ( )
        4. 10.5.4 [[PreventExtensions]] ( )
        5. 10.5.5 [[GetOwnProperty]] ( P )
        6. 10.5.6 [[DefineOwnProperty]] ( P, Desc )
        7. 10.5.7 [[HasProperty]] ( P )
        8. 10.5.8 [[Get]] ( P, Receiver )
        9. 10.5.9 [[Set]] ( P, V, Receiver )
        10. 10.5.10 [[Delete]] ( P )
        11. 10.5.11 [[OwnPropertyKeys]] ( )
        12. 10.5.12 [[Call]] ( thisArgument, argumentsList )
        13. 10.5.13 [[Construct]] ( argumentsList, newTarget )
        14. 10.5.14 ValidateNonRevokedProxy ( proxy )
        15. 10.5.15 ProxyCreate ( target, handler )
    12. +11 ECMAScript Language: Source Text
      1. +11.1 Source Text
        1. 11.1.1 SS: UTF16EncodeCodePoint ( cp )
        2. 11.1.2 SS: CodePointsToString ( text )
        3. 11.1.3 SS: UTF16SurrogatePairToCodePoint ( lead, trail )
        4. 11.1.4 SS: CodePointAt ( string, position )
        5. 11.1.5 SS: StringToCodePoints ( string )
        6. 11.1.6 SS: ParseText ( sourceText, goalSymbol )
      2. +11.2 Types of Source Code
        1. 11.2.1 Directive Prologues and the Use Strict Directive
        2. +11.2.2 Strict Mode Code
          1. 11.2.2.1 SS: IsStrict ( node )
        3. 11.2.3 Non-ECMAScript Functions
    13. +12 ECMAScript Language: Lexical Grammar
      1. 12.1 Unicode Format-Control Characters
      2. 12.2 White Space
      3. 12.3 Line Terminators
      4. 12.4 Comments
      5. 12.5 Hashbang Comments
      6. 12.6 Tokens
      7. +12.7 Names and Keywords
        1. +12.7.1 Identifier Names
          1. 12.7.1.1 SS: Early Errors
          2. 12.7.1.2 SS: IdentifierCodePoints
          3. 12.7.1.3 SS: IdentifierCodePoint
        2. 12.7.2 Keywords and Reserved Words
      8. 12.8 Punctuators
      9. +12.9 Literals
        1. 12.9.1 Null Literals
        2. 12.9.2 Boolean Literals
        3. +12.9.3 Numeric Literals
          1. 12.9.3.1 SS: Early Errors
          2. 12.9.3.2 SS: MV
          3. 12.9.3.3 SS: NumericValue
        4. +12.9.4 String Literals
          1. 12.9.4.1 SS: Early Errors
          2. 12.9.4.2 SS: SV
          3. 12.9.4.3 SS: MV
        5. +12.9.5 Regular Expression Literals
          1. 12.9.5.1 SS: BodyText
          2. 12.9.5.2 SS: FlagText
        6. +12.9.6 Template Literal Lexical Components
          1. 12.9.6.1 SS: TV
          2. 12.9.6.2 SS: TRV
      10. +12.10 Automatic Semicolon Insertion
        1. 12.10.1 Rules of Automatic Semicolon Insertion
        2. 12.10.2 Examples of Automatic Semicolon Insertion
        3. +12.10.3 Interesting Cases of Automatic Semicolon Insertion
          1. 12.10.3.1 Interesting Cases of Automatic Semicolon Insertion in Statement Lists
          2. +12.10.3.2 Cases of Automatic Semicolon Insertion and “[no LineTerminator here]”
            1. 12.10.3.2.1 List of Grammar Productions with Optional Operands and “[no LineTerminator here]”
    14. +13 ECMAScript Language: Expressions
      1. +13.1 Identifiers
        1. 13.1.1 SS: Early Errors
        2. 13.1.2 SS: StringValue
        3. 13.1.3 RS: Evaluation
      2. +13.2 Primary Expression
        1. +13.2.1 The this Keyword
          1. 13.2.1.1 RS: Evaluation
        2. 13.2.2 Identifier Reference
        3. +13.2.3 Literals
          1. 13.2.3.1 RS: Evaluation
        4. +13.2.4 Array Initializer
          1. 13.2.4.1 RS: ArrayAccumulation
          2. 13.2.4.2 RS: Evaluation
        5. +13.2.5 Object Initializer
          1. 13.2.5.1 SS: Early Errors
          2. 13.2.5.2 SS: IsComputedPropertyKey
          3. 13.2.5.3 SS: PropertyNameList
          4. 13.2.5.4 RS: Evaluation
          5. 13.2.5.5 RS: PropertyDefinitionEvaluation
        6. 13.2.6 Function Defining Expressions
        7. +13.2.7 Regular Expression Literals
          1. 13.2.7.1 SS: Early Errors
          2. 13.2.7.2 SS: IsValidRegularExpressionLiteral ( literal )
          3. 13.2.7.3 RS: Evaluation
        8. +13.2.8 Template Literals
          1. 13.2.8.1 SS: Early Errors
          2. 13.2.8.2 SS: TemplateStrings
          3. 13.2.8.3 SS: TemplateString ( templateToken, raw )
          4. 13.2.8.4 GetTemplateObject ( templateLiteral )
          5. 13.2.8.5 RS: SubstitutionEvaluation
          6. 13.2.8.6 RS: Evaluation
        9. +13.2.9 The Grouping Operator
          1. 13.2.9.1 SS: Early Errors
          2. 13.2.9.2 RS: Evaluation
      3. +13.3 Left-Hand-Side Expressions
        1. +13.3.1 Static Semantics
          1. 13.3.1.1 SS: Early Errors
        2. +13.3.2 Property Accessors
          1. 13.3.2.1 RS: Evaluation
        3. 13.3.3 EvaluatePropertyAccessWithExpressionKey ( baseValue, expression, strict )
        4. 13.3.4 EvaluatePropertyAccessWithIdentifierKey ( baseValue, identifierName, strict )
        5. +13.3.5 The new Operator
          1. +13.3.5.1 RS: Evaluation
            1. 13.3.5.1.1 EvaluateNew ( constructExpr, arguments )
        6. +13.3.6 Function Calls
          1. 13.3.6.1 RS: Evaluation
          2. 13.3.6.2 EvaluateCall ( func, ref, arguments, tailPosition )
        7. +13.3.7 The super Keyword
          1. 13.3.7.1 RS: Evaluation
          2. 13.3.7.2 GetSuperConstructor ( )
          3. 13.3.7.3 MakeSuperPropertyReference ( actualThis, propertyKey, strict )
        8. +13.3.8 Argument Lists
          1. 13.3.8.1 RS: ArgumentListEvaluation
        9. +13.3.9 Optional Chains
          1. 13.3.9.1 RS: Evaluation
          2. 13.3.9.2 RS: ChainEvaluation
        10. +13.3.10 Import Calls
          1. 13.3.10.1 RS: Evaluation
          2. 13.3.10.2 EvaluateImportCall ( specifierExpression [ , optionsExpression ] )
          3. 13.3.10.3 ContinueDynamicImport ( promiseCapability, moduleCompletion )
        11. +13.3.11 Tagged Templates
          1. 13.3.11.1 RS: Evaluation
        12. +13.3.12 Meta Properties
          1. +13.3.12.1 RS: Evaluation
            1. 13.3.12.1.1 HostGetImportMetaProperties ( moduleRecord )
            2. 13.3.12.1.2 HostFinalizeImportMeta ( importMeta, moduleRecord )
      4. +13.4 Update Expressions
        1. 13.4.1 SS: Early Errors
        2. +13.4.2 Postfix Increment Operator
          1. 13.4.2.1 RS: Evaluation
        3. +13.4.3 Postfix Decrement Operator
          1. 13.4.3.1 RS: Evaluation
        4. +13.4.4 Prefix Increment Operator
          1. 13.4.4.1 RS: Evaluation
        5. +13.4.5 Prefix Decrement Operator
          1. 13.4.5.1 RS: Evaluation
      5. +13.5 Unary Operators
        1. +13.5.1 The delete Operator
          1. 13.5.1.1 SS: Early Errors
          2. 13.5.1.2 RS: Evaluation
        2. +13.5.2 The void Operator
          1. 13.5.2.1 RS: Evaluation
        3. +13.5.3 The typeof Operator
          1. 13.5.3.1 RS: Evaluation
        4. +13.5.4 Unary + Operator
          1. 13.5.4.1 RS: Evaluation
        5. +13.5.5 Unary - Operator
          1. 13.5.5.1 RS: Evaluation
        6. +13.5.6 Bitwise NOT Operator ( ~ )
          1. 13.5.6.1 RS: Evaluation
        7. +13.5.7 Logical NOT Operator ( ! )
          1. 13.5.7.1 RS: Evaluation
      6. +13.6 Exponentiation Operator
        1. 13.6.1 RS: Evaluation
      7. +13.7 Multiplicative Operators
        1. 13.7.1 RS: Evaluation
      8. +13.8 Additive Operators
        1. +13.8.1 The Addition Operator ( + )
          1. 13.8.1.1 RS: Evaluation
        2. +13.8.2 The Subtraction Operator ( - )
          1. 13.8.2.1 RS: Evaluation
      9. +13.9 Bitwise Shift Operators
        1. +13.9.1 The Left Shift Operator ( << )
          1. 13.9.1.1 RS: Evaluation
        2. +13.9.2 The Signed Right Shift Operator ( >> )
          1. 13.9.2.1 RS: Evaluation
        3. +13.9.3 The Unsigned Right Shift Operator ( >>> )
          1. 13.9.3.1 RS: Evaluation
      10. +13.10 Relational Operators
        1. 13.10.1 RS: Evaluation
        2. 13.10.2 InstanceofOperator ( V, target )
      11. +13.11 Equality Operators
        1. 13.11.1 RS: Evaluation
      12. +13.12 Binary Bitwise Operators
        1. 13.12.1 RS: Evaluation
      13. +13.13 Binary Logical Operators
        1. 13.13.1 RS: Evaluation
      14. +13.14 Conditional Operator ( ? : )
        1. 13.14.1 RS: Evaluation
      15. +13.15 Assignment Operators
        1. 13.15.1 SS: Early Errors
        2. 13.15.2 RS: Evaluation
        3. 13.15.3 ApplyStringOrNumericBinaryOperator ( lVal, opText, rVal )
        4. 13.15.4 EvaluateStringOrNumericBinaryExpression ( leftOperand, opText, rightOperand )
        5. +13.15.5 Destructuring Assignment
          1. 13.15.5.1 SS: Early Errors
          2. 13.15.5.2 RS: DestructuringAssignmentEvaluation
          3. 13.15.5.3 RS: PropertyDestructuringAssignmentEvaluation
          4. 13.15.5.4 RS: RestDestructuringAssignmentEvaluation
          5. 13.15.5.5 RS: IteratorDestructuringAssignmentEvaluation
          6. 13.15.5.6 RS: KeyedDestructuringAssignmentEvaluation
      16. +13.16 Comma Operator ( , )
        1. 13.16.1 RS: Evaluation
    15. +14 ECMAScript Language: Statements and Declarations
      1. +14.1 Statement Semantics
        1. 14.1.1 RS: Evaluation
      2. +14.2 Block
        1. 14.2.1 SS: Early Errors
        2. 14.2.2 RS: Evaluation
        3. 14.2.3 BlockDeclarationInstantiation ( code, env )
      3. +14.3 Declarations and the Variable Statement
        1. +14.3.1 Let and Const Declarations
          1. 14.3.1.1 SS: Early Errors
          2. 14.3.1.2 RS: Evaluation
        2. +14.3.2 Variable Statement
          1. 14.3.2.1 RS: Evaluation
        3. +14.3.3 Destructuring Binding Patterns
          1. 14.3.3.1 RS: PropertyBindingInitialization
          2. 14.3.3.2 RS: RestBindingInitialization
          3. 14.3.3.3 RS: KeyedBindingInitialization
      4. +14.4 Empty Statement
        1. 14.4.1 RS: Evaluation
      5. +14.5 Expression Statement
        1. 14.5.1 RS: Evaluation
      6. +14.6 The if Statement
        1. 14.6.1 SS: Early Errors
        2. 14.6.2 RS: Evaluation
      7. +14.7 Iteration Statements
        1. +14.7.1 Semantics
          1. 14.7.1.1 LoopContinues ( completion, labelSet )
          2. 14.7.1.2 RS: LoopEvaluation
        2. +14.7.2 The do-while Statement
          1. 14.7.2.1 SS: Early Errors
          2. 14.7.2.2 RS: DoWhileLoopEvaluation
        3. +14.7.3 The while Statement
          1. 14.7.3.1 SS: Early Errors
          2. 14.7.3.2 RS: WhileLoopEvaluation
        4. +14.7.4 The for Statement
          1. 14.7.4.1 SS: Early Errors
          2. 14.7.4.2 RS: ForLoopEvaluation
          3. 14.7.4.3 ForBodyEvaluation ( test, increment, stmt, perIterationBindings, labelSet )
          4. 14.7.4.4 CreatePerIterationEnvironment ( perIterationBindings )
        5. +14.7.5 The for-in, for-of, and for-await-of Statements
          1. 14.7.5.1 SS: Early Errors
          2. 14.7.5.2 SS: IsDestructuring
          3. 14.7.5.3 RS: ForDeclarationBindingInitialization
          4. 14.7.5.4 RS: ForDeclarationBindingInstantiation
          5. 14.7.5.5 RS: ForInOfLoopEvaluation
          6. 14.7.5.6 ForIn/OfHeadEvaluation ( uninitializedBoundNames, expr, iterationKind )
          7. 14.7.5.7 ForIn/OfBodyEvaluation ( lhs, stmt, iteratorRecord, iterationKind, lhsKind, labelSet [ , iteratorKind ] )
          8. 14.7.5.8 RS: Evaluation
          9. 14.7.5.9 EnumerateObjectProperties ( O )
          10. +14.7.5.10 For-In Iterator Objects
            1. 14.7.5.10.1 CreateForInIterator ( object )
            2. +14.7.5.10.2 The %ForInIteratorPrototype% Object
              1. 14.7.5.10.2.1 %ForInIteratorPrototype%.next ( )
            3. 14.7.5.10.3 Properties of For-In Iterator Instances
      8. +14.8 The continue Statement
        1. 14.8.1 SS: Early Errors
        2. 14.8.2 RS: Evaluation
      9. +14.9 The break Statement
        1. 14.9.1 SS: Early Errors
        2. 14.9.2 RS: Evaluation
      10. +14.10 The return Statement
        1. 14.10.1 RS: Evaluation
      11. +14.11 The with Statement
        1. 14.11.1 SS: Early Errors
        2. 14.11.2 RS: Evaluation
      12. +14.12 The switch Statement
        1. 14.12.1 SS: Early Errors
        2. 14.12.2 RS: CaseBlockEvaluation
        3. 14.12.3 CaseClauseIsSelected ( C, input )
        4. 14.12.4 RS: Evaluation
      13. +14.13 Labelled Statements
        1. 14.13.1 SS: Early Errors
        2. 14.13.2 SS: IsLabelledFunction ( stmt )
        3. 14.13.3 RS: Evaluation
        4. 14.13.4 RS: LabelledEvaluation
      14. +14.14 The throw Statement
        1. 14.14.1 RS: Evaluation
      15. +14.15 The try Statement
        1. 14.15.1 SS: Early Errors
        2. 14.15.2 RS: CatchClauseEvaluation
        3. 14.15.3 RS: Evaluation
      16. +14.16 The debugger Statement
        1. 14.16.1 RS: Evaluation
    16. +15 ECMAScript Language: Functions and Classes
      1. +15.1 Parameter Lists
        1. 15.1.1 SS: Early Errors
        2. 15.1.2 SS: ContainsExpression
        3. 15.1.3 SS: IsSimpleParameterList
        4. 15.1.4 SS: HasInitializer
        5. 15.1.5 SS: ExpectedArgumentCount
      2. +15.2 Function Definitions
        1. 15.2.1 SS: Early Errors
        2. 15.2.2 SS: FunctionBodyContainsUseStrict
        3. 15.2.3 RS: EvaluateFunctionBody
        4. 15.2.4 RS: InstantiateOrdinaryFunctionObject
        5. 15.2.5 RS: InstantiateOrdinaryFunctionExpression
        6. 15.2.6 RS: Evaluation
      3. +15.3 Arrow Function Definitions
        1. 15.3.1 SS: Early Errors
        2. 15.3.2 SS: ConciseBodyContainsUseStrict
        3. 15.3.3 RS: EvaluateConciseBody
        4. 15.3.4 RS: InstantiateArrowFunctionExpression
        5. 15.3.5 RS: Evaluation
      4. +15.4 Method Definitions
        1. 15.4.1 SS: Early Errors
        2. 15.4.2 SS: HasDirectSuper
        3. 15.4.3 SS: SpecialMethod
        4. 15.4.4 RS: DefineMethod
        5. 15.4.5 RS: MethodDefinitionEvaluation
      5. +15.5 Generator Function Definitions
        1. 15.5.1 SS: Early Errors
        2. 15.5.2 RS: EvaluateGeneratorBody
        3. 15.5.3 RS: InstantiateGeneratorFunctionObject
        4. 15.5.4 RS: InstantiateGeneratorFunctionExpression
        5. 15.5.5 RS: Evaluation
      6. +15.6 Async Generator Function Definitions
        1. 15.6.1 SS: Early Errors
        2. 15.6.2 RS: EvaluateAsyncGeneratorBody
        3. 15.6.3 RS: InstantiateAsyncGeneratorFunctionObject
        4. 15.6.4 RS: InstantiateAsyncGeneratorFunctionExpression
        5. 15.6.5 RS: Evaluation
      7. +15.7 Class Definitions
        1. 15.7.1 SS: Early Errors
        2. 15.7.2 SS: ClassElementKind
        3. 15.7.3 SS: ConstructorMethod
        4. 15.7.4 SS: IsStatic
        5. 15.7.5 SS: NonConstructorElements
        6. 15.7.6 SS: PrototypePropertyNameList
        7. 15.7.7 SS: AllPrivateIdentifiersValid
        8. 15.7.8 SS: PrivateBoundIdentifiers
        9. 15.7.9 SS: ContainsArguments
        10. 15.7.10 RS: ClassFieldDefinitionEvaluation
        11. 15.7.11 RS: ClassStaticBlockDefinitionEvaluation
        12. 15.7.12 RS: EvaluateClassStaticBlockBody
        13. 15.7.13 RS: ClassElementEvaluation
        14. 15.7.14 RS: ClassDefinitionEvaluation
        15. 15.7.15 RS: BindingClassDeclarationEvaluation
        16. 15.7.16 RS: Evaluation
      8. +15.8 Async Function Definitions
        1. 15.8.1 SS: Early Errors
        2. 15.8.2 RS: InstantiateAsyncFunctionObject
        3. 15.8.3 RS: InstantiateAsyncFunctionExpression
        4. 15.8.4 RS: EvaluateAsyncFunctionBody
        5. 15.8.5 RS: Evaluation
      9. +15.9 Async Arrow Function Definitions
        1. 15.9.1 SS: Early Errors
        2. 15.9.2 SS: AsyncConciseBodyContainsUseStrict
        3. 15.9.3 RS: EvaluateAsyncConciseBody
        4. 15.9.4 RS: InstantiateAsyncArrowFunctionExpression
        5. 15.9.5 RS: Evaluation
      10. +15.10 Tail Position Calls
        1. 15.10.1 SS: IsInTailPosition ( call )
        2. 15.10.2 SS: HasCallInTailPosition
        3. 15.10.3 PrepareForTailCall ( )
    17. +16 ECMAScript Language: Scripts and Modules
      1. +16.1 Scripts
        1. 16.1.1 SS: Early Errors
        2. 16.1.2 SS: ScriptIsStrict
        3. 16.1.3 RS: Evaluation
        4. 16.1.4 Script Records
        5. 16.1.5 ParseScript ( sourceText, realm, hostDefined )
        6. 16.1.6 ScriptEvaluation ( scriptRecord )
        7. 16.1.7 GlobalDeclarationInstantiation ( script, env )
      2. +16.2 Modules
        1. +16.2.1 Module Semantics
          1. 16.2.1.1 SS: Early Errors
          2. 16.2.1.2 SS: ImportedLocalNames ( importEntries )
          3. +16.2.1.3 ModuleRequest Records
            1. 16.2.1.3.1 ModuleRequestsEqual ( left, right )
          4. 16.2.1.4 SS: ModuleRequests
          5. +16.2.1.5 Abstract Module Records
            1. 16.2.1.5.1 EvaluateModuleSync ( module )
          6. +16.2.1.6 Cyclic Module Records
            1. +16.2.1.6.1 Implementation of Module Record Abstract Methods
              1. +16.2.1.6.1.1 LoadRequestedModules ( [ hostDefined ] )
                1. 16.2.1.6.1.1.1 InnerModuleLoading ( state, module )
                2. 16.2.1.6.1.1.2 ContinueModuleLoading ( state, moduleCompletion )
              2. +16.2.1.6.1.2 Link ( )
                1. 16.2.1.6.1.2.1 InnerModuleLinking ( module, stack, index )
              3. +16.2.1.6.1.3 Evaluate ( )
                1. 16.2.1.6.1.3.1 InnerModuleEvaluation ( module, stack, index )
                2. 16.2.1.6.1.3.2 ExecuteAsyncModule ( module )
                3. 16.2.1.6.1.3.3 GatherAvailableAncestors ( module, execList )
                4. 16.2.1.6.1.3.4 AsyncModuleExecutionFulfilled ( module )
                5. 16.2.1.6.1.3.5 AsyncModuleExecutionRejected ( module, error )
            2. 16.2.1.6.2 Example Cyclic Module Record Graphs
          7. +16.2.1.7 Source Text Module Records
            1. 16.2.1.7.1 ParseModule ( sourceText, realm, hostDefined )
            2. +16.2.1.7.2 Implementation of Module Record Abstract Methods
              1. 16.2.1.7.2.1 GetExportedNames ( [ exportStarSet ] )
              2. 16.2.1.7.2.2 ResolveExport ( exportName [ , resolveSet ] )
            3. +16.2.1.7.3 Implementation of Cyclic Module Record Abstract Methods
              1. 16.2.1.7.3.1 InitializeEnvironment ( )
              2. 16.2.1.7.3.2 ExecuteModule ( [ capability ] )
          8. +16.2.1.8 Synthetic Module Records
            1. 16.2.1.8.1 CreateDefaultExportSyntheticModule ( defaultExport )
            2. 16.2.1.8.2 ParseJSONModule ( source )
            3. 16.2.1.8.3 SetSyntheticModuleExport ( module, exportName, exportValue )
            4. +16.2.1.8.4 Implementation of Module Record Abstract Methods
              1. 16.2.1.8.4.1 LoadRequestedModules ( )
              2. 16.2.1.8.4.2 GetExportedNames ( )
              3. 16.2.1.8.4.3 ResolveExport ( exportName )
              4. 16.2.1.8.4.4 Link ( )
              5. 16.2.1.8.4.5 Evaluate ( )
          9. 16.2.1.9 GetImportedModule ( referrer, request )
          10. 16.2.1.10 HostLoadImportedModule ( referrer, moduleRequest, hostDefined, payload )
          11. 16.2.1.11 FinishLoadingImportedModule ( referrer, moduleRequest, payload, result )
          12. +16.2.1.12 AllImportAttributesSupported ( attributes )
            1. 16.2.1.12.1 HostGetSupportedImportAttributes ( )
          13. 16.2.1.13 GetModuleNamespace ( module )
          14. 16.2.1.14 RS: Evaluation
        2. +16.2.2 Imports
          1. 16.2.2.1 SS: Early Errors
          2. 16.2.2.2 SS: ImportEntries
          3. 16.2.2.3 SS: ImportEntriesForModule
          4. 16.2.2.4 SS: WithClauseToAttributes
        3. +16.2.3 Exports
          1. 16.2.3.1 SS: Early Errors
          2. 16.2.3.2 SS: ExportedBindings
          3. 16.2.3.3 SS: ExportedNames
          4. 16.2.3.4 SS: ExportEntries
          5. 16.2.3.5 SS: ExportEntriesForModule
          6. 16.2.3.6 SS: ReferencedBindings
          7. 16.2.3.7 RS: Evaluation
    18. +17 Error Handling and Language Extensions
      1. 17.1 Forbidden Extensions
    19. 18 ECMAScript Standard Built-in Objects
    20. +19 The Global Object
      1. +19.1 Value Properties of the Global Object
        1. 19.1.1 globalThis
        2. 19.1.2 Infinity
        3. 19.1.3 NaN
        4. 19.1.4 undefined
      2. +19.2 Function Properties of the Global Object
        1. +19.2.1 eval ( x )
          1. 19.2.1.1 PerformEval ( x, strictCaller, direct )
          2. 19.2.1.2 HostEnsureCanCompileStrings ( calleeRealm, parameterStrings, bodyString, direct )
          3. 19.2.1.3 EvalDeclarationInstantiation ( body, varEnv, lexEnv, privateEnv, strict )
        2. 19.2.2 isFinite ( number )
        3. 19.2.3 isNaN ( number )
        4. 19.2.4 parseFloat ( string )
        5. 19.2.5 parseInt ( string, radix )
        6. +19.2.6 URI Handling Functions
          1. 19.2.6.1 decodeURI ( encodedURI )
          2. 19.2.6.2 decodeURIComponent ( encodedURIComponent )
          3. 19.2.6.3 encodeURI ( uri )
          4. 19.2.6.4 encodeURIComponent ( uriComponent )
          5. 19.2.6.5 Encode ( string, extraUnescaped )
          6. 19.2.6.6 Decode ( string, preserveEscapeSet )
          7. 19.2.6.7 ParseHexOctet ( string, position )
      3. +19.3 Constructor Properties of the Global Object
        1. 19.3.1 AggregateError ( . . . )
        2. 19.3.2 Array ( . . . )
        3. 19.3.3 ArrayBuffer ( . . . )
        4. 19.3.4 BigInt ( . . . )
        5. 19.3.5 BigInt64Array ( . . . )
        6. 19.3.6 BigUint64Array ( . . . )
        7. 19.3.7 Boolean ( . . . )
        8. 19.3.8 DataView ( . . . )
        9. 19.3.9 Date ( . . . )
        10. 19.3.10 Error ( . . . )
        11. 19.3.11 EvalError ( . . . )
        12. 19.3.12 FinalizationRegistry ( . . . )
        13. 19.3.13 Float16Array ( . . . )
        14. 19.3.14 Float32Array ( . . . )
        15. 19.3.15 Float64Array ( . . . )
        16. 19.3.16 Function ( . . . )
        17. 19.3.17 Int8Array ( . . . )
        18. 19.3.18 Int16Array ( . . . )
        19. 19.3.19 Int32Array ( . . . )
        20. 19.3.20 Iterator ( . . . )
        21. 19.3.21 Map ( . . . )
        22. 19.3.22 Number ( . . . )
        23. 19.3.23 Object ( . . . )
        24. 19.3.24 Promise ( . . . )
        25. 19.3.25 Proxy ( . . . )
        26. 19.3.26 RangeError ( . . . )
        27. 19.3.27 ReferenceError ( . . . )
        28. 19.3.28 RegExp ( . . . )
        29. 19.3.29 Set ( . . . )
        30. 19.3.30 SharedArrayBuffer ( . . . )
        31. 19.3.31 String ( . . . )
        32. 19.3.32 Symbol ( . . . )
        33. 19.3.33 SyntaxError ( . . . )
        34. 19.3.34 TypeError ( . . . )
        35. 19.3.35 Uint8Array ( . . . )
        36. 19.3.36 Uint8ClampedArray ( . . . )
        37. 19.3.37 Uint16Array ( . . . )
        38. 19.3.38 Uint32Array ( . . . )
        39. 19.3.39 URIError ( . . . )
        40. 19.3.40 WeakMap ( . . . )
        41. 19.3.41 WeakRef ( . . . )
        42. 19.3.42 WeakSet ( . . . )
      4. +19.4 Other Properties of the Global Object
        1. 19.4.1 Atomics
        2. 19.4.2 JSON
        3. 19.4.3 Math
        4. 19.4.4 Reflect
    21. +20 Fundamental Objects
      1. +20.1 Object Objects
        1. +20.1.1 The Object Constructor
          1. 20.1.1.1 Object ( [ value ] )
        2. +20.1.2 Properties of the Object Constructor
          1. 20.1.2.1 Object.assign ( target, ...sources )
          2. 20.1.2.2 Object.create ( O, Properties )
          3. +20.1.2.3 Object.defineProperties ( O, Properties )
            1. 20.1.2.3.1 ObjectDefineProperties ( O, Properties )
          4. 20.1.2.4 Object.defineProperty ( O, P, Attributes )
          5. 20.1.2.5 Object.entries ( O )
          6. 20.1.2.6 Object.freeze ( O )
          7. 20.1.2.7 Object.fromEntries ( iterable )
          8. 20.1.2.8 Object.getOwnPropertyDescriptor ( O, P )
          9. 20.1.2.9 Object.getOwnPropertyDescriptors ( O )
          10. 20.1.2.10 Object.getOwnPropertyNames ( O )
          11. +20.1.2.11 Object.getOwnPropertySymbols ( O )
            1. 20.1.2.11.1 GetOwnPropertyKeys ( O, type )
          12. 20.1.2.12 Object.getPrototypeOf ( O )
          13. 20.1.2.13 Object.groupBy ( items, callback )
          14. 20.1.2.14 Object.hasOwn ( O, P )
          15. 20.1.2.15 Object.is ( value1, value2 )
          16. 20.1.2.16 Object.isExtensible ( O )
          17. 20.1.2.17 Object.isFrozen ( O )
          18. 20.1.2.18 Object.isSealed ( O )
          19. 20.1.2.19 Object.keys ( O )
          20. 20.1.2.20 Object.preventExtensions ( O )
          21. 20.1.2.21 Object.prototype
          22. 20.1.2.22 Object.seal ( O )
          23. 20.1.2.23 Object.setPrototypeOf ( O, proto )
          24. 20.1.2.24 Object.values ( O )
        3. +20.1.3 Properties of the Object Prototype Object
          1. 20.1.3.1 Object.prototype.constructor
          2. 20.1.3.2 Object.prototype.hasOwnProperty ( V )
          3. 20.1.3.3 Object.prototype.isPrototypeOf ( V )
          4. 20.1.3.4 Object.prototype.propertyIsEnumerable ( V )
          5. 20.1.3.5 Object.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          6. 20.1.3.6 Object.prototype.toString ( )
          7. 20.1.3.7 Object.prototype.valueOf ( )
          8. +20.1.3.8 Object.prototype.__proto__
            1. 20.1.3.8.1 get Object.prototype.__proto__
            2. 20.1.3.8.2 set Object.prototype.__proto__
          9. +20.1.3.9 Legacy Object.prototype Accessor Methods
            1. 20.1.3.9.1 Object.prototype.__defineGetter__ ( P, getter )
            2. 20.1.3.9.2 Object.prototype.__defineSetter__ ( P, setter )
            3. 20.1.3.9.3 Object.prototype.__lookupGetter__ ( P )
            4. 20.1.3.9.4 Object.prototype.__lookupSetter__ ( P )
        4. 20.1.4 Properties of Object Instances
      2. +20.2 Function Objects
        1. +20.2.1 The Function Constructor
          1. +20.2.1.1 Function ( ...parameterArgs, bodyArg )
            1. 20.2.1.1.1 CreateDynamicFunction ( constructor, newTarget, kind, parameterArgs, bodyArg )
        2. +20.2.2 Properties of the Function Constructor
          1. 20.2.2.1 Function.prototype
        3. +20.2.3 Properties of the Function Prototype Object
          1. 20.2.3.1 Function.prototype.apply ( thisArg, argArray )
          2. 20.2.3.2 Function.prototype.bind ( thisArg, ...args )
          3. 20.2.3.3 Function.prototype.call ( thisArg, ...args )
          4. 20.2.3.4 Function.prototype.constructor
          5. 20.2.3.5 Function.prototype.toString ( )
          6. 20.2.3.6 Function.prototype [ %Symbol.hasInstance% ] ( V )
        4. +20.2.4 Function Instances
          1. 20.2.4.1 length
          2. 20.2.4.2 name
          3. 20.2.4.3 prototype
        5. 20.2.5 HostHasSourceTextAvailable ( func )
      3. +20.3 Boolean Objects
        1. +20.3.1 The Boolean Constructor
          1. 20.3.1.1 Boolean ( value )
        2. +20.3.2 Properties of the Boolean Constructor
          1. 20.3.2.1 Boolean.prototype
        3. +20.3.3 Properties of the Boolean Prototype Object
          1. 20.3.3.1 Boolean.prototype.constructor
          2. 20.3.3.2 Boolean.prototype.toString ( )
          3. +20.3.3.3 Boolean.prototype.valueOf ( )
            1. 20.3.3.3.1 ThisBooleanValue ( value )
        4. 20.3.4 Properties of Boolean Instances
      4. +20.4 Symbol Objects
        1. +20.4.1 The Symbol Constructor
          1. 20.4.1.1 Symbol ( [ description ] )
        2. +20.4.2 Properties of the Symbol Constructor
          1. 20.4.2.1 Symbol.asyncIterator
          2. 20.4.2.2 Symbol.for ( key )
          3. 20.4.2.3 Symbol.hasInstance
          4. 20.4.2.4 Symbol.isConcatSpreadable
          5. 20.4.2.5 Symbol.iterator
          6. 20.4.2.6 Symbol.keyFor ( sym )
          7. 20.4.2.7 Symbol.match
          8. 20.4.2.8 Symbol.matchAll
          9. 20.4.2.9 Symbol.prototype
          10. 20.4.2.10 Symbol.replace
          11. 20.4.2.11 Symbol.search
          12. 20.4.2.12 Symbol.species
          13. 20.4.2.13 Symbol.split
          14. 20.4.2.14 Symbol.toPrimitive
          15. 20.4.2.15 Symbol.toStringTag
          16. 20.4.2.16 Symbol.unscopables
        3. +20.4.3 Properties of the Symbol Prototype Object
          1. 20.4.3.1 Symbol.prototype.constructor
          2. 20.4.3.2 get Symbol.prototype.description
          3. +20.4.3.3 Symbol.prototype.toString ( )
            1. 20.4.3.3.1 SymbolDescriptiveString ( sym )
          4. +20.4.3.4 Symbol.prototype.valueOf ( )
            1. 20.4.3.4.1 ThisSymbolValue ( value )
          5. 20.4.3.5 Symbol.prototype [ %Symbol.toPrimitive% ] ( hint )
          6. 20.4.3.6 Symbol.prototype [ %Symbol.toStringTag% ]
        4. 20.4.4 Properties of Symbol Instances
        5. +20.4.5 Abstract Operations for Symbols
          1. 20.4.5.1 KeyForSymbol ( sym )
      5. +20.5 Error Objects
        1. +20.5.1 The Error Constructor
          1. 20.5.1.1 Error ( message [ , options ] )
        2. +20.5.2 Properties of the Error Constructor
          1. 20.5.2.1 Error.isError ( arg )
          2. 20.5.2.2 Error.prototype
        3. +20.5.3 Properties of the Error Prototype Object
          1. 20.5.3.1 Error.prototype.constructor
          2. 20.5.3.2 Error.prototype.message
          3. 20.5.3.3 Error.prototype.name
          4. 20.5.3.4 Error.prototype.toString ( )
        4. 20.5.4 Properties of Error Instances
        5. +20.5.5 Native Error Types Used in This Standard
          1. 20.5.5.1 EvalError
          2. 20.5.5.2 RangeError
          3. 20.5.5.3 ReferenceError
          4. 20.5.5.4 SyntaxError
          5. 20.5.5.5 TypeError
          6. 20.5.5.6 URIError
        6. +20.5.6 NativeError Object Structure
          1. +20.5.6.1 The NativeError Constructors
            1. 20.5.6.1.1 NativeError ( message [ , options ] )
          2. +20.5.6.2 Properties of the NativeError Constructors
            1. 20.5.6.2.1 NativeError.prototype
          3. +20.5.6.3 Properties of the NativeError Prototype Objects
            1. 20.5.6.3.1 NativeError.prototype.constructor
            2. 20.5.6.3.2 NativeError.prototype.message
            3. 20.5.6.3.3 NativeError.prototype.name
          4. 20.5.6.4 Properties of NativeError Instances
        7. +20.5.7 AggregateError Objects
          1. +20.5.7.1 The AggregateError Constructor
            1. 20.5.7.1.1 AggregateError ( errors, message [ , options ] )
          2. +20.5.7.2 Properties of the AggregateError Constructor
            1. 20.5.7.2.1 AggregateError.prototype
          3. +20.5.7.3 Properties of the AggregateError Prototype Object
            1. 20.5.7.3.1 AggregateError.prototype.constructor
            2. 20.5.7.3.2 AggregateError.prototype.message
            3. 20.5.7.3.3 AggregateError.prototype.name
          4. 20.5.7.4 Properties of AggregateError Instances
        8. +20.5.8 Abstract Operations for Error Objects
          1. 20.5.8.1 InstallErrorCause ( O, options )
    22. +21 Numbers and Dates
      1. +21.1 Number Objects
        1. +21.1.1 The Number Constructor
          1. 21.1.1.1 Number ( value )
        2. +21.1.2 Properties of the Number Constructor
          1. 21.1.2.1 Number.EPSILON
          2. 21.1.2.2 Number.isFinite ( number )
          3. 21.1.2.3 Number.isInteger ( number )
          4. 21.1.2.4 Number.isNaN ( number )
          5. 21.1.2.5 Number.isSafeInteger ( number )
          6. 21.1.2.6 Number.MAX_SAFE_INTEGER
          7. 21.1.2.7 Number.MAX_VALUE
          8. 21.1.2.8 Number.MIN_SAFE_INTEGER
          9. 21.1.2.9 Number.MIN_VALUE
          10. 21.1.2.10 Number.NaN
          11. 21.1.2.11 Number.NEGATIVE_INFINITY
          12. 21.1.2.12 Number.parseFloat ( string )
          13. 21.1.2.13 Number.parseInt ( string, radix )
          14. 21.1.2.14 Number.POSITIVE_INFINITY
          15. 21.1.2.15 Number.prototype
        3. +21.1.3 Properties of the Number Prototype Object
          1. 21.1.3.1 Number.prototype.constructor
          2. 21.1.3.2 Number.prototype.toExponential ( fractionDigits )
          3. 21.1.3.3 Number.prototype.toFixed ( fractionDigits )
          4. 21.1.3.4 Number.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          5. 21.1.3.5 Number.prototype.toPrecision ( precision )
          6. 21.1.3.6 Number.prototype.toString ( [ radix ] )
          7. +21.1.3.7 Number.prototype.valueOf ( )
            1. 21.1.3.7.1 ThisNumberValue ( value )
        4. 21.1.4 Properties of Number Instances
      2. +21.2 BigInt Objects
        1. +21.2.1 The BigInt Constructor
          1. +21.2.1.1 BigInt ( value )
            1. 21.2.1.1.1 NumberToBigInt ( number )
        2. +21.2.2 Properties of the BigInt Constructor
          1. 21.2.2.1 BigInt.asIntN ( bits, bigint )
          2. 21.2.2.2 BigInt.asUintN ( bits, bigint )
          3. 21.2.2.3 BigInt.prototype
        3. +21.2.3 Properties of the BigInt Prototype Object
          1. 21.2.3.1 BigInt.prototype.constructor
          2. 21.2.3.2 BigInt.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          3. 21.2.3.3 BigInt.prototype.toString ( [ radix ] )
          4. +21.2.3.4 BigInt.prototype.valueOf ( )
            1. 21.2.3.4.1 ThisBigIntValue ( value )
          5. 21.2.3.5 BigInt.prototype [ %Symbol.toStringTag% ]
        4. 21.2.4 Properties of BigInt Instances
      3. +21.3 The Math Object
        1. +21.3.1 Value Properties of the Math Object
          1. 21.3.1.1 Math.E
          2. 21.3.1.2 Math.LN10
          3. 21.3.1.3 Math.LN2
          4. 21.3.1.4 Math.LOG10E
          5. 21.3.1.5 Math.LOG2E
          6. 21.3.1.6 Math.PI
          7. 21.3.1.7 Math.SQRT1_2
          8. 21.3.1.8 Math.SQRT2
          9. 21.3.1.9 Math [ %Symbol.toStringTag% ]
        2. +21.3.2 Function Properties of the Math Object
          1. 21.3.2.1 Math.abs ( x )
          2. 21.3.2.2 Math.acos ( x )
          3. 21.3.2.3 Math.acosh ( x )
          4. 21.3.2.4 Math.asin ( x )
          5. 21.3.2.5 Math.asinh ( x )
          6. 21.3.2.6 Math.atan ( x )
          7. 21.3.2.7 Math.atanh ( x )
          8. 21.3.2.8 Math.atan2 ( y, x )
          9. 21.3.2.9 Math.cbrt ( x )
          10. 21.3.2.10 Math.ceil ( x )
          11. 21.3.2.11 Math.clz32 ( x )
          12. 21.3.2.12 Math.cos ( x )
          13. 21.3.2.13 Math.cosh ( x )
          14. 21.3.2.14 Math.exp ( x )
          15. 21.3.2.15 Math.expm1 ( x )
          16. 21.3.2.16 Math.floor ( x )
          17. 21.3.2.17 Math.fround ( x )
          18. 21.3.2.18 Math.f16round ( x )
          19. 21.3.2.19 Math.hypot ( ...args )
          20. 21.3.2.20 Math.imul ( x, y )
          21. 21.3.2.21 Math.log ( x )
          22. 21.3.2.22 Math.log1p ( x )
          23. 21.3.2.23 Math.log10 ( x )
          24. 21.3.2.24 Math.log2 ( x )
          25. 21.3.2.25 Math.max ( ...args )
          26. 21.3.2.26 Math.min ( ...args )
          27. 21.3.2.27 Math.pow ( base, exponent )
          28. 21.3.2.28 Math.random ( )
          29. 21.3.2.29 Math.round ( x )
          30. 21.3.2.30 Math.sign ( x )
          31. 21.3.2.31 Math.sin ( x )
          32. 21.3.2.32 Math.sinh ( x )
          33. 21.3.2.33 Math.sqrt ( x )
          34. 21.3.2.34 Math.sumPrecise ( items )
          35. 21.3.2.35 Math.tan ( x )
          36. 21.3.2.36 Math.tanh ( x )
          37. 21.3.2.37 Math.trunc ( x )
      4. +21.4 Date Objects
        1. +21.4.1 Overview of Date Objects and Definitions of Abstract Operations
          1. 21.4.1.1 Time Values and Time Range
          2. 21.4.1.2 Time-related Constants
          3. 21.4.1.3 Day ( t )
          4. 21.4.1.4 TimeWithinDay ( t )
          5. 21.4.1.5 DaysInYear ( y )
          6. 21.4.1.6 DayFromYear ( y )
          7. 21.4.1.7 TimeFromYear ( y )
          8. 21.4.1.8 YearFromTime ( t )
          9. 21.4.1.9 DayWithinYear ( t )
          10. 21.4.1.10 InLeapYear ( t )
          11. 21.4.1.11 MonthFromTime ( t )
          12. 21.4.1.12 DateFromTime ( t )
          13. 21.4.1.13 WeekDay ( t )
          14. 21.4.1.14 HourFromTime ( t )
          15. 21.4.1.15 MinFromTime ( t )
          16. 21.4.1.16 SecFromTime ( t )
          17. 21.4.1.17 msFromTime ( t )
          18. 21.4.1.18 GetUTCEpochNanoseconds ( year, month, day, hour, minute, second, millisecond, microsecond, nanosecond )
          19. 21.4.1.19 Time Zone Identifiers
          20. 21.4.1.20 GetNamedTimeZoneEpochNanoseconds ( timeZoneIdentifier, year, month, day, hour, minute, second, millisecond, microsecond, nanosecond )
          21. 21.4.1.21 GetNamedTimeZoneOffsetNanoseconds ( timeZoneIdentifier, epochNanoseconds )
          22. 21.4.1.22 Time Zone Identifier Record
          23. 21.4.1.23 AvailableNamedTimeZoneIdentifiers ( )
          24. 21.4.1.24 SystemTimeZoneIdentifier ( )
          25. 21.4.1.25 LocalTime ( t )
          26. 21.4.1.26 UTC ( t )
          27. 21.4.1.27 MakeTime ( hour, min, sec, ms )
          28. 21.4.1.28 MakeDay ( year, month, date )
          29. 21.4.1.29 MakeDate ( day, time )
          30. 21.4.1.30 MakeFullYear ( year )
          31. 21.4.1.31 TimeClip ( time )
          32. +21.4.1.32 Date Time String Format
            1. 21.4.1.32.1 Expanded Years
          33. +21.4.1.33 Time Zone Offset String Format
            1. 21.4.1.33.1 IsTimeZoneOffsetString ( offsetString )
            2. 21.4.1.33.2 ParseTimeZoneOffsetString ( offsetString )
        2. +21.4.2 The Date Constructor
          1. 21.4.2.1 Date ( ...values )
        3. +21.4.3 Properties of the Date Constructor
          1. 21.4.3.1 Date.now ( )
          2. 21.4.3.2 Date.parse ( string )
          3. 21.4.3.3 Date.prototype
          4. 21.4.3.4 Date.UTC ( year [ , month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] ] )
        4. +21.4.4 Properties of the Date Prototype Object
          1. 21.4.4.1 Date.prototype.constructor
          2. 21.4.4.2 Date.prototype.getDate ( )
          3. 21.4.4.3 Date.prototype.getDay ( )
          4. 21.4.4.4 Date.prototype.getFullYear ( )
          5. 21.4.4.5 Date.prototype.getHours ( )
          6. 21.4.4.6 Date.prototype.getMilliseconds ( )
          7. 21.4.4.7 Date.prototype.getMinutes ( )
          8. 21.4.4.8 Date.prototype.getMonth ( )
          9. 21.4.4.9 Date.prototype.getSeconds ( )
          10. 21.4.4.10 Date.prototype.getTime ( )
          11. 21.4.4.11 Date.prototype.getTimezoneOffset ( )
          12. 21.4.4.12 Date.prototype.getUTCDate ( )
          13. 21.4.4.13 Date.prototype.getUTCDay ( )
          14. 21.4.4.14 Date.prototype.getUTCFullYear ( )
          15. 21.4.4.15 Date.prototype.getUTCHours ( )
          16. 21.4.4.16 Date.prototype.getUTCMilliseconds ( )
          17. 21.4.4.17 Date.prototype.getUTCMinutes ( )
          18. 21.4.4.18 Date.prototype.getUTCMonth ( )
          19. 21.4.4.19 Date.prototype.getUTCSeconds ( )
          20. 21.4.4.20 Date.prototype.setDate ( date )
          21. 21.4.4.21 Date.prototype.setFullYear ( year [ , month [ , date ] ] )
          22. 21.4.4.22 Date.prototype.setHours ( hour [ , min [ , sec [ , ms ] ] ] )
          23. 21.4.4.23 Date.prototype.setMilliseconds ( ms )
          24. 21.4.4.24 Date.prototype.setMinutes ( min [ , sec [ , ms ] ] )
          25. 21.4.4.25 Date.prototype.setMonth ( month [ , date ] )
          26. 21.4.4.26 Date.prototype.setSeconds ( sec [ , ms ] )
          27. 21.4.4.27 Date.prototype.setTime ( time )
          28. 21.4.4.28 Date.prototype.setUTCDate ( date )
          29. 21.4.4.29 Date.prototype.setUTCFullYear ( year [ , month [ , date ] ] )
          30. 21.4.4.30 Date.prototype.setUTCHours ( hour [ , min [ , sec [ , ms ] ] ] )
          31. 21.4.4.31 Date.prototype.setUTCMilliseconds ( ms )
          32. 21.4.4.32 Date.prototype.setUTCMinutes ( min [ , sec [ , ms ] ] )
          33. 21.4.4.33 Date.prototype.setUTCMonth ( month [ , date ] )
          34. 21.4.4.34 Date.prototype.setUTCSeconds ( sec [ , ms ] )
          35. 21.4.4.35 Date.prototype.toDateString ( )
          36. 21.4.4.36 Date.prototype.toISOString ( )
          37. 21.4.4.37 Date.prototype.toJSON ( key )
          38. 21.4.4.38 Date.prototype.toLocaleDateString ( [ reserved1 [ , reserved2 ] ] )
          39. 21.4.4.39 Date.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          40. 21.4.4.40 Date.prototype.toLocaleTimeString ( [ reserved1 [ , reserved2 ] ] )
          41. +21.4.4.41 Date.prototype.toString ( )
            1. 21.4.4.41.1 TimeString ( tv )
            2. 21.4.4.41.2 DateString ( tv )
            3. 21.4.4.41.3 TimeZoneString ( tv )
            4. 21.4.4.41.4 ToDateString ( tv )
          42. 21.4.4.42 Date.prototype.toTimeString ( )
          43. 21.4.4.43 Date.prototype.toUTCString ( )
          44. 21.4.4.44 Date.prototype.valueOf ( )
          45. 21.4.4.45 Date.prototype [ %Symbol.toPrimitive% ] ( hint )
        5. 21.4.5 Properties of Date Instances
    23. +22 Text Processing
      1. +22.1 String Objects
        1. +22.1.1 The String Constructor
          1. 22.1.1.1 String ( value )
        2. +22.1.2 Properties of the String Constructor
          1. 22.1.2.1 String.fromCharCode ( ...codeUnits )
          2. 22.1.2.2 String.fromCodePoint ( ...codePoints )
          3. 22.1.2.3 String.prototype
          4. 22.1.2.4 String.raw ( template, ...substitutions )
        3. +22.1.3 Properties of the String Prototype Object
          1. 22.1.3.1 String.prototype.at ( index )
          2. 22.1.3.2 String.prototype.charAt ( pos )
          3. 22.1.3.3 String.prototype.charCodeAt ( pos )
          4. 22.1.3.4 String.prototype.codePointAt ( pos )
          5. 22.1.3.5 String.prototype.concat ( ...args )
          6. 22.1.3.6 String.prototype.constructor
          7. 22.1.3.7 String.prototype.endsWith ( searchString [ , endPosition ] )
          8. 22.1.3.8 String.prototype.includes ( searchString [ , position ] )
          9. 22.1.3.9 String.prototype.indexOf ( searchString [ , position ] )
          10. 22.1.3.10 String.prototype.isWellFormed ( )
          11. 22.1.3.11 String.prototype.lastIndexOf ( searchString [ , position ] )
          12. 22.1.3.12 String.prototype.localeCompare ( that [ , reserved1 [ , reserved2 ] ] )
          13. 22.1.3.13 String.prototype.match ( regexp )
          14. 22.1.3.14 String.prototype.matchAll ( regexp )
          15. 22.1.3.15 String.prototype.normalize ( [ form ] )
          16. 22.1.3.16 String.prototype.padEnd ( maxLength [ , fillString ] )
          17. +22.1.3.17 String.prototype.padStart ( maxLength [ , fillString ] )
            1. 22.1.3.17.1 StringPaddingBuiltinsImpl ( O, maxLength, fillString, placement )
            2. 22.1.3.17.2 StringPad ( S, maxLength, fillString, placement )
            3. 22.1.3.17.3 ToZeroPaddedDecimalString ( n, minLength )
          18. 22.1.3.18 String.prototype.repeat ( count )
          19. +22.1.3.19 String.prototype.replace ( searchValue, replaceValue )
            1. 22.1.3.19.1 GetSubstitution ( matched, str, position, captures, namedCaptures, replacementTemplate )
          20. 22.1.3.20 String.prototype.replaceAll ( searchValue, replaceValue )
          21. 22.1.3.21 String.prototype.search ( regexp )
          22. 22.1.3.22 String.prototype.slice ( start, end )
          23. 22.1.3.23 String.prototype.split ( separator, limit )
          24. 22.1.3.24 String.prototype.startsWith ( searchString [ , position ] )
          25. 22.1.3.25 String.prototype.substring ( start, end )
          26. 22.1.3.26 String.prototype.toLocaleLowerCase ( [ reserved1 [ , reserved2 ] ] )
          27. 22.1.3.27 String.prototype.toLocaleUpperCase ( [ reserved1 [ , reserved2 ] ] )
          28. 22.1.3.28 String.prototype.toLowerCase ( )
          29. 22.1.3.29 String.prototype.toString ( )
          30. 22.1.3.30 String.prototype.toUpperCase ( )
          31. 22.1.3.31 String.prototype.toWellFormed ( )
          32. +22.1.3.32 String.prototype.trim ( )
            1. 22.1.3.32.1 TrimString ( string, where )
          33. 22.1.3.33 String.prototype.trimEnd ( )
          34. 22.1.3.34 String.prototype.trimStart ( )
          35. +22.1.3.35 String.prototype.valueOf ( )
            1. 22.1.3.35.1 ThisStringValue ( value )
          36. 22.1.3.36 String.prototype [ %Symbol.iterator% ] ( )
        4. +22.1.4 Properties of String Instances
          1. 22.1.4.1 length
        5. +22.1.5 String Iterator Objects
          1. +22.1.5.1 The %StringIteratorPrototype% Object
            1. 22.1.5.1.1 %StringIteratorPrototype%.next ( )
            2. 22.1.5.1.2 %StringIteratorPrototype% [ %Symbol.toStringTag% ]
      2. +22.2 RegExp (Regular Expression) Objects
        1. +22.2.1 Patterns
          1. 22.2.1.1 SS: Early Errors
          2. 22.2.1.2 SS: CountLeftCapturingParensWithin ( node )
          3. 22.2.1.3 SS: CountLeftCapturingParensBefore ( node )
          4. 22.2.1.4 SS: MightBothParticipate ( x, y )
          5. 22.2.1.5 SS: CapturingGroupNumber
          6. 22.2.1.6 SS: IsCharacterClass
          7. 22.2.1.7 SS: CharacterValue
          8. 22.2.1.8 SS: MayContainStrings
          9. 22.2.1.9 SS: GroupSpecifiersThatMatch ( thisGroupName )
          10. 22.2.1.10 SS: CapturingGroupName
          11. 22.2.1.11 SS: RegExpIdentifierCodePoints
          12. 22.2.1.12 SS: RegExpIdentifierCodePoint
        2. +22.2.2 Pattern Semantics
          1. +22.2.2.1 Notation
            1. 22.2.2.1.1 RegExp Records
          2. 22.2.2.2 RS: CompilePattern
          3. +22.2.2.3 RS: CompileSubpattern
            1. 22.2.2.3.1 RepeatMatcher ( m, min, max, greedy, x, c, parenIndex, parenCount )
            2. 22.2.2.3.2 EmptyMatcher ( )
            3. 22.2.2.3.3 MatchTwoAlternatives ( m1, m2 )
            4. 22.2.2.3.4 MatchSequence ( m1, m2, direction )
          4. +22.2.2.4 RS: CompileAssertion
            1. 22.2.2.4.1 IsWordChar ( rer, Input, e )
          5. 22.2.2.5 RS: CompileQuantifier
          6. 22.2.2.6 RS: CompileQuantifierPrefix
          7. +22.2.2.7 RS: CompileAtom
            1. 22.2.2.7.1 CharacterSetMatcher ( rer, A, invert, direction )
            2. 22.2.2.7.2 BackreferenceMatcher ( rer, ns, direction )
            3. 22.2.2.7.3 Canonicalize ( rer, ch )
            4. 22.2.2.7.4 UpdateModifiers ( rer, add, remove )
          8. 22.2.2.8 RS: CompileCharacterClass
          9. +22.2.2.9 RS: CompileToCharSet
            1. 22.2.2.9.1 CharacterRange ( A, B )
            2. 22.2.2.9.2 HasEitherUnicodeFlag ( rer )
            3. 22.2.2.9.3 WordCharacters ( rer )
            4. 22.2.2.9.4 AllCharacters ( rer )
            5. 22.2.2.9.5 MaybeSimpleCaseFolding ( rer, A )
            6. 22.2.2.9.6 CharacterComplement ( rer, S )
            7. 22.2.2.9.7 UnicodeMatchProperty ( rer, p )
            8. 22.2.2.9.8 UnicodeMatchPropertyValue ( p, v )
          10. 22.2.2.10 RS: CompileClassSetString
        3. +22.2.3 Abstract Operations for RegExp Creation
          1. 22.2.3.1 RegExpCreate ( P, F )
          2. 22.2.3.2 RegExpAlloc ( newTarget )
          3. 22.2.3.3 RegExpInitialize ( obj, pattern, flags )
          4. 22.2.3.4 SS: ParsePattern ( patternText, u, v )
        4. +22.2.4 The RegExp Constructor
          1. 22.2.4.1 RegExp ( pattern, flags )
        5. +22.2.5 Properties of the RegExp Constructor
          1. +22.2.5.1 RegExp.escape ( S )
            1. 22.2.5.1.1 EncodeForRegExpEscape ( cp )
          2. 22.2.5.2 RegExp.prototype
          3. 22.2.5.3 get RegExp [ %Symbol.species% ]
        6. +22.2.6 Properties of the RegExp Prototype Object
          1. 22.2.6.1 RegExp.prototype.constructor
          2. 22.2.6.2 RegExp.prototype.exec ( string )
          3. 22.2.6.3 get RegExp.prototype.dotAll
          4. +22.2.6.4 get RegExp.prototype.flags
            1. 22.2.6.4.1 RegExpHasFlag ( R, codeUnit )
          5. 22.2.6.5 get RegExp.prototype.global
          6. 22.2.6.6 get RegExp.prototype.hasIndices
          7. 22.2.6.7 get RegExp.prototype.ignoreCase
          8. 22.2.6.8 RegExp.prototype [ %Symbol.match% ] ( string )
          9. 22.2.6.9 RegExp.prototype [ %Symbol.matchAll% ] ( string )
          10. 22.2.6.10 get RegExp.prototype.multiline
          11. 22.2.6.11 RegExp.prototype [ %Symbol.replace% ] ( string, replaceValue )
          12. 22.2.6.12 RegExp.prototype [ %Symbol.search% ] ( string )
          13. +22.2.6.13 get RegExp.prototype.source
            1. 22.2.6.13.1 EscapeRegExpPattern ( P, F )
          14. 22.2.6.14 RegExp.prototype [ %Symbol.split% ] ( string, limit )
          15. 22.2.6.15 get RegExp.prototype.sticky
          16. 22.2.6.16 RegExp.prototype.test ( S )
          17. 22.2.6.17 RegExp.prototype.toString ( )
          18. 22.2.6.18 get RegExp.prototype.unicode
          19. 22.2.6.19 get RegExp.prototype.unicodeSets
        7. +22.2.7 Abstract Operations for RegExp Matching
          1. 22.2.7.1 RegExpExec ( R, S )
          2. 22.2.7.2 RegExpBuiltinExec ( R, S )
          3. 22.2.7.3 AdvanceStringIndex ( S, index, unicode )
          4. 22.2.7.4 GetStringIndex ( S, codePointIndex )
          5. 22.2.7.5 Match Records
          6. 22.2.7.6 GetMatchString ( S, match )
          7. 22.2.7.7 GetMatchIndexPair ( S, match )
          8. 22.2.7.8 MakeMatchIndicesIndexPairArray ( S, indices, groupNames, hasGroups )
        8. +22.2.8 Properties of RegExp Instances
          1. 22.2.8.1 lastIndex
        9. +22.2.9 RegExp String Iterator Objects
          1. 22.2.9.1 CreateRegExpStringIterator ( R, S, global, fullUnicode )
          2. +22.2.9.2 The %RegExpStringIteratorPrototype% Object
            1. 22.2.9.2.1 %RegExpStringIteratorPrototype%.next ( )
            2. 22.2.9.2.2 %RegExpStringIteratorPrototype% [ %Symbol.toStringTag% ]
          3. 22.2.9.3 Properties of RegExp String Iterator Instances
    24. +23 Indexed Collections
      1. +23.1 Array Objects
        1. +23.1.1 The Array Constructor
          1. 23.1.1.1 Array ( ...values )
        2. +23.1.2 Properties of the Array Constructor
          1. 23.1.2.1 Array.from ( items [ , mapper [ , thisArg ] ] )
          2. 23.1.2.2 Array.isArray ( arg )
          3. 23.1.2.3 Array.of ( ...items )
          4. 23.1.2.4 Array.prototype
          5. 23.1.2.5 get Array [ %Symbol.species% ]
        3. +23.1.3 Properties of the Array Prototype Object
          1. 23.1.3.1 Array.prototype.at ( index )
          2. +23.1.3.2 Array.prototype.concat ( ...items )
            1. 23.1.3.2.1 IsConcatSpreadable ( O )
          3. 23.1.3.3 Array.prototype.constructor
          4. 23.1.3.4 Array.prototype.copyWithin ( target, start [ , end ] )
          5. 23.1.3.5 Array.prototype.entries ( )
          6. 23.1.3.6 Array.prototype.every ( callback [ , thisArg ] )
          7. 23.1.3.7 Array.prototype.fill ( value [ , start [ , end ] ] )
          8. 23.1.3.8 Array.prototype.filter ( callback [ , thisArg ] )
          9. 23.1.3.9 Array.prototype.find ( predicate [ , thisArg ] )
          10. 23.1.3.10 Array.prototype.findIndex ( predicate [ , thisArg ] )
          11. 23.1.3.11 Array.prototype.findLast ( predicate [ , thisArg ] )
          12. +23.1.3.12 Array.prototype.findLastIndex ( predicate [ , thisArg ] )
            1. 23.1.3.12.1 FindViaPredicate ( O, len, direction, predicate, thisArg )
          13. +23.1.3.13 Array.prototype.flat ( [ depth ] )
            1. 23.1.3.13.1 FlattenIntoArray ( target, source, sourceLen, start, depth [ , mapperFunction [ , thisArg ] ] )
          14. 23.1.3.14 Array.prototype.flatMap ( mapperFunction [ , thisArg ] )
          15. 23.1.3.15 Array.prototype.forEach ( callback [ , thisArg ] )
          16. 23.1.3.16 Array.prototype.includes ( searchElement [ , fromIndex ] )
          17. 23.1.3.17 Array.prototype.indexOf ( searchElement [ , fromIndex ] )
          18. 23.1.3.18 Array.prototype.join ( separator )
          19. 23.1.3.19 Array.prototype.keys ( )
          20. 23.1.3.20 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
          21. 23.1.3.21 Array.prototype.map ( callback [ , thisArg ] )
          22. 23.1.3.22 Array.prototype.pop ( )
          23. 23.1.3.23 Array.prototype.push ( ...items )
          24. 23.1.3.24 Array.prototype.reduce ( callback [ , initialValue ] )
          25. 23.1.3.25 Array.prototype.reduceRight ( callback [ , initialValue ] )
          26. 23.1.3.26 Array.prototype.reverse ( )
          27. 23.1.3.27 Array.prototype.shift ( )
          28. 23.1.3.28 Array.prototype.slice ( start, end )
          29. 23.1.3.29 Array.prototype.some ( callback [ , thisArg ] )
          30. +23.1.3.30 Array.prototype.sort ( comparator )
            1. 23.1.3.30.1 SortIndexedProperties ( obj, len, SortCompare, holes )
            2. 23.1.3.30.2 CompareArrayElements ( x, y, comparator )
          31. 23.1.3.31 Array.prototype.splice ( start, deleteCount, ...items )
          32. 23.1.3.32 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          33. 23.1.3.33 Array.prototype.toReversed ( )
          34. 23.1.3.34 Array.prototype.toSorted ( comparator )
          35. 23.1.3.35 Array.prototype.toSpliced ( start, skipCount, ...items )
          36. 23.1.3.36 Array.prototype.toString ( )
          37. 23.1.3.37 Array.prototype.unshift ( ...items )
          38. 23.1.3.38 Array.prototype.values ( )
          39. 23.1.3.39 Array.prototype.with ( index, value )
          40. 23.1.3.40 Array.prototype [ %Symbol.iterator% ] ( )
          41. 23.1.3.41 Array.prototype [ %Symbol.unscopables% ]
        4. +23.1.4 Properties of Array Instances
          1. 23.1.4.1 length
        5. +23.1.5 Array Iterator Objects
          1. 23.1.5.1 CreateArrayIterator ( array, kind )
          2. +23.1.5.2 The %ArrayIteratorPrototype% Object
            1. 23.1.5.2.1 %ArrayIteratorPrototype%.next ( )
            2. 23.1.5.2.2 %ArrayIteratorPrototype% [ %Symbol.toStringTag% ]
          3. 23.1.5.3 Properties of Array Iterator Instances
      2. +23.2 TypedArray Objects
        1. +23.2.1 The %TypedArray% Intrinsic Object
          1. 23.2.1.1 %TypedArray% ( )
        2. +23.2.2 Properties of the %TypedArray% Intrinsic Object
          1. 23.2.2.1 %TypedArray%.from ( source [ , mapper [ , thisArg ] ] )
          2. 23.2.2.2 %TypedArray%.of ( ...items )
          3. 23.2.2.3 %TypedArray%.prototype
          4. 23.2.2.4 get %TypedArray% [ %Symbol.species% ]
        3. +23.2.3 Properties of the %TypedArray% Prototype Object
          1. 23.2.3.1 %TypedArray%.prototype.at ( index )
          2. 23.2.3.2 get %TypedArray%.prototype.buffer
          3. 23.2.3.3 get %TypedArray%.prototype.byteLength
          4. 23.2.3.4 get %TypedArray%.prototype.byteOffset
          5. 23.2.3.5 %TypedArray%.prototype.constructor
          6. 23.2.3.6 %TypedArray%.prototype.copyWithin ( target, start [ , end ] )
          7. 23.2.3.7 %TypedArray%.prototype.entries ( )
          8. 23.2.3.8 %TypedArray%.prototype.every ( callback [ , thisArg ] )
          9. 23.2.3.9 %TypedArray%.prototype.fill ( value [ , start [ , end ] ] )
          10. 23.2.3.10 %TypedArray%.prototype.filter ( callback [ , thisArg ] )
          11. 23.2.3.11 %TypedArray%.prototype.find ( predicate [ , thisArg ] )
          12. 23.2.3.12 %TypedArray%.prototype.findIndex ( predicate [ , thisArg ] )
          13. 23.2.3.13 %TypedArray%.prototype.findLast ( predicate [ , thisArg ] )
          14. 23.2.3.14 %TypedArray%.prototype.findLastIndex ( predicate [ , thisArg ] )
          15. 23.2.3.15 %TypedArray%.prototype.forEach ( callback [ , thisArg ] )
          16. 23.2.3.16 %TypedArray%.prototype.includes ( searchElement [ , fromIndex ] )
          17. 23.2.3.17 %TypedArray%.prototype.indexOf ( searchElement [ , fromIndex ] )
          18. 23.2.3.18 %TypedArray%.prototype.join ( separator )
          19. 23.2.3.19 %TypedArray%.prototype.keys ( )
          20. 23.2.3.20 %TypedArray%.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
          21. 23.2.3.21 get %TypedArray%.prototype.length
          22. 23.2.3.22 %TypedArray%.prototype.map ( callback [ , thisArg ] )
          23. 23.2.3.23 %TypedArray%.prototype.reduce ( callback [ , initialValue ] )
          24. 23.2.3.24 %TypedArray%.prototype.reduceRight ( callback [ , initialValue ] )
          25. 23.2.3.25 %TypedArray%.prototype.reverse ( )
          26. +23.2.3.26 %TypedArray%.prototype.set ( source [ , offset ] )
            1. 23.2.3.26.1 SetTypedArrayFromArrayLike ( target, targetOffset, source )
            2. 23.2.3.26.2 SetTypedArrayFromTypedArray ( target, targetOffset, source )
          27. 23.2.3.27 %TypedArray%.prototype.slice ( start, end )
          28. 23.2.3.28 %TypedArray%.prototype.some ( callback [ , thisArg ] )
          29. 23.2.3.29 %TypedArray%.prototype.sort ( comparator )
          30. 23.2.3.30 %TypedArray%.prototype.subarray ( start, end )
          31. 23.2.3.31 %TypedArray%.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
          32. 23.2.3.32 %TypedArray%.prototype.toReversed ( )
          33. 23.2.3.33 %TypedArray%.prototype.toSorted ( comparator )
          34. 23.2.3.34 %TypedArray%.prototype.toString ( )
          35. 23.2.3.35 %TypedArray%.prototype.values ( )
          36. 23.2.3.36 %TypedArray%.prototype.with ( index, value )
          37. 23.2.3.37 %TypedArray%.prototype [ %Symbol.iterator% ] ( )
          38. 23.2.3.38 get %TypedArray%.prototype [ %Symbol.toStringTag% ]
        4. +23.2.4 Abstract Operations for TypedArray Objects
          1. 23.2.4.1 TypedArrayCreateFromConstructor ( constructor, argumentList )
          2. 23.2.4.2 TypedArrayCreateSameType ( exemplar, length )
          3. 23.2.4.3 TypedArraySpeciesCreate ( exemplar, argumentList )
          4. 23.2.4.4 ValidateTypedArray ( O, order )
          5. 23.2.4.5 TypedArrayElementSize ( O )
          6. 23.2.4.6 TypedArrayElementType ( O )
          7. 23.2.4.7 CompareTypedArrayElements ( x, y, comparator )
        5. +23.2.5 The TypedArray Constructors
          1. +23.2.5.1 TypedArray ( ...args )
            1. 23.2.5.1.1 AllocateTypedArray ( constructorName, newTarget, defaultProto [ , length ] )
            2. 23.2.5.1.2 InitializeTypedArrayFromTypedArray ( O, srcArray )
            3. 23.2.5.1.3 InitializeTypedArrayFromArrayBuffer ( O, buffer, byteOffset, length )
            4. 23.2.5.1.4 InitializeTypedArrayFromList ( O, values )
            5. 23.2.5.1.5 InitializeTypedArrayFromArrayLike ( O, arrayLike )
            6. 23.2.5.1.6 AllocateTypedArrayBuffer ( O, length )
        6. +23.2.6 Properties of the TypedArray Constructors
          1. 23.2.6.1 TypedArray.BYTES_PER_ELEMENT
          2. 23.2.6.2 TypedArray.prototype
        7. +23.2.7 Properties of the TypedArray Prototype Objects
          1. 23.2.7.1 TypedArray.prototype.BYTES_PER_ELEMENT
          2. 23.2.7.2 TypedArray.prototype.constructor
        8. 23.2.8 Properties of TypedArray Instances
    25. +24 Keyed Collections
      1. +24.1 Map Objects
        1. +24.1.1 The Map Constructor
          1. 24.1.1.1 Map ( [ iterable ] )
          2. 24.1.1.2 AddEntriesFromIterable ( target, iterable, adder )
        2. +24.1.2 Properties of the Map Constructor
          1. 24.1.2.1 Map.groupBy ( items, callback )
          2. 24.1.2.2 Map.prototype
          3. 24.1.2.3 get Map [ %Symbol.species% ]
        3. +24.1.3 Properties of the Map Prototype Object
          1. 24.1.3.1 Map.prototype.clear ( )
          2. 24.1.3.2 Map.prototype.constructor
          3. 24.1.3.3 Map.prototype.delete ( key )
          4. 24.1.3.4 Map.prototype.entries ( )
          5. 24.1.3.5 Map.prototype.forEach ( callback [ , thisArg ] )
          6. 24.1.3.6 Map.prototype.get ( key )
          7. 24.1.3.7 Map.prototype.has ( key )
          8. 24.1.3.8 Map.prototype.keys ( )
          9. 24.1.3.9 Map.prototype.set ( key, value )
          10. 24.1.3.10 get Map.prototype.size
          11. 24.1.3.11 Map.prototype.values ( )
          12. 24.1.3.12 Map.prototype [ %Symbol.iterator% ] ( )
          13. 24.1.3.13 Map.prototype [ %Symbol.toStringTag% ]
        4. 24.1.4 Properties of Map Instances
        5. +24.1.5 Map Iterator Objects
          1. 24.1.5.1 CreateMapIterator ( map, kind )
          2. +24.1.5.2 The %MapIteratorPrototype% Object
            1. 24.1.5.2.1 %MapIteratorPrototype%.next ( )
            2. 24.1.5.2.2 %MapIteratorPrototype% [ %Symbol.toStringTag% ]
      2. +24.2 Set Objects
        1. +24.2.1 Abstract Operations For Set Objects
          1. 24.2.1.1 Set Records
          2. 24.2.1.2 GetSetRecord ( obj )
          3. 24.2.1.3 SetDataHas ( setData, value )
          4. 24.2.1.4 SetDataIndex ( setData, value )
          5. 24.2.1.5 SetDataSize ( setData )
        2. +24.2.2 The Set Constructor
          1. 24.2.2.1 Set ( [ iterable ] )
        3. +24.2.3 Properties of the Set Constructor
          1. 24.2.3.1 Set.prototype
          2. 24.2.3.2 get Set [ %Symbol.species% ]
        4. +24.2.4 Properties of the Set Prototype Object
          1. 24.2.4.1 Set.prototype.add ( value )
          2. 24.2.4.2 Set.prototype.clear ( )
          3. 24.2.4.3 Set.prototype.constructor
          4. 24.2.4.4 Set.prototype.delete ( value )
          5. 24.2.4.5 Set.prototype.difference ( other )
          6. 24.2.4.6 Set.prototype.entries ( )
          7. 24.2.4.7 Set.prototype.forEach ( callback [ , thisArg ] )
          8. 24.2.4.8 Set.prototype.has ( value )
          9. 24.2.4.9 Set.prototype.intersection ( other )
          10. 24.2.4.10 Set.prototype.isDisjointFrom ( other )
          11. 24.2.4.11 Set.prototype.isSubsetOf ( other )
          12. 24.2.4.12 Set.prototype.isSupersetOf ( other )
          13. 24.2.4.13 Set.prototype.keys ( )
          14. 24.2.4.14 get Set.prototype.size
          15. 24.2.4.15 Set.prototype.symmetricDifference ( other )
          16. 24.2.4.16 Set.prototype.union ( other )
          17. 24.2.4.17 Set.prototype.values ( )
          18. 24.2.4.18 Set.prototype [ %Symbol.iterator% ] ( )
          19. 24.2.4.19 Set.prototype [ %Symbol.toStringTag% ]
        5. 24.2.5 Properties of Set Instances
        6. +24.2.6 Set Iterator Objects
          1. 24.2.6.1 CreateSetIterator ( set, kind )
          2. +24.2.6.2 The %SetIteratorPrototype% Object
            1. 24.2.6.2.1 %SetIteratorPrototype%.next ( )
            2. 24.2.6.2.2 %SetIteratorPrototype% [ %Symbol.toStringTag% ]
      3. +24.3 WeakMap Objects
        1. +24.3.1 The WeakMap Constructor
          1. 24.3.1.1 WeakMap ( [ iterable ] )
        2. +24.3.2 Properties of the WeakMap Constructor
          1. 24.3.2.1 WeakMap.prototype
        3. +24.3.3 Properties of the WeakMap Prototype Object
          1. 24.3.3.1 WeakMap.prototype.constructor
          2. 24.3.3.2 WeakMap.prototype.delete ( key )
          3. 24.3.3.3 WeakMap.prototype.get ( key )
          4. 24.3.3.4 WeakMap.prototype.has ( key )
          5. 24.3.3.5 WeakMap.prototype.set ( key, value )
          6. 24.3.3.6 WeakMap.prototype [ %Symbol.toStringTag% ]
        4. 24.3.4 Properties of WeakMap Instances
      4. +24.4 WeakSet Objects
        1. +24.4.1 The WeakSet Constructor
          1. 24.4.1.1 WeakSet ( [ iterable ] )
        2. +24.4.2 Properties of the WeakSet Constructor
          1. 24.4.2.1 WeakSet.prototype
        3. +24.4.3 Properties of the WeakSet Prototype Object
          1. 24.4.3.1 WeakSet.prototype.add ( value )
          2. 24.4.3.2 WeakSet.prototype.constructor
          3. 24.4.3.3 WeakSet.prototype.delete ( value )
          4. 24.4.3.4 WeakSet.prototype.has ( value )
          5. 24.4.3.5 WeakSet.prototype [ %Symbol.toStringTag% ]
        4. 24.4.4 Properties of WeakSet Instances
      5. +24.5 Abstract Operations for Keyed Collections
        1. 24.5.1 CanonicalizeKeyedCollectionKey ( key )
    26. +25 Structured Data
      1. +25.1 ArrayBuffer Objects
        1. 25.1.1 Notation
        2. 25.1.2 Fixed-length and Resizable ArrayBuffer Objects
        3. +25.1.3 Abstract Operations For ArrayBuffer Objects
          1. 25.1.3.1 AllocateArrayBuffer ( constructor, byteLength [ , maxByteLength ] )
          2. 25.1.3.2 ArrayBufferByteLength ( arrayBuffer, order )
          3. 25.1.3.3 ArrayBufferCopyAndDetach ( arrayBuffer, newLength, preserveResizability )
          4. 25.1.3.4 IsDetachedBuffer ( arrayBuffer )
          5. 25.1.3.5 DetachArrayBuffer ( arrayBuffer [ , key ] )
          6. 25.1.3.6 CloneArrayBuffer ( srcBuffer, srcByteOffset, srcLength )
          7. 25.1.3.7 GetArrayBufferMaxByteLengthOption ( options )
          8. 25.1.3.8 HostResizeArrayBuffer ( buffer, newByteLength )
          9. 25.1.3.9 IsFixedLengthArrayBuffer ( arrayBuffer )
          10. 25.1.3.10 IsUnsignedElementType ( type )
          11. 25.1.3.11 IsUnclampedIntegerElementType ( type )
          12. 25.1.3.12 IsBigIntElementType ( type )
          13. 25.1.3.13 IsNoTearConfiguration ( type, order )
          14. 25.1.3.14 RawBytesToNumeric ( type, rawBytes, isLittleEndian )
          15. 25.1.3.15 GetRawBytesFromSharedBlock ( block, byteIndex, type, isTypedArray, order )
          16. 25.1.3.16 GetValueFromBuffer ( arrayBuffer, byteIndex, type, isTypedArray, order [ , isLittleEndian ] )
          17. 25.1.3.17 NumericToRawBytes ( type, value, isLittleEndian )
          18. 25.1.3.18 SetValueInBuffer ( arrayBuffer, byteIndex, type, value, isTypedArray, order [ , isLittleEndian ] )
          19. 25.1.3.19 GetModifySetValueInBuffer ( arrayBuffer, byteIndex, type, value, op )
        4. +25.1.4 The ArrayBuffer Constructor
          1. 25.1.4.1 ArrayBuffer ( length [ , options ] )
        5. +25.1.5 Properties of the ArrayBuffer Constructor
          1. 25.1.5.1 ArrayBuffer.isView ( arg )
          2. 25.1.5.2 ArrayBuffer.prototype
          3. 25.1.5.3 get ArrayBuffer [ %Symbol.species% ]
        6. +25.1.6 Properties of the ArrayBuffer Prototype Object
          1. 25.1.6.1 get ArrayBuffer.prototype.byteLength
          2. 25.1.6.2 ArrayBuffer.prototype.constructor
          3. 25.1.6.3 get ArrayBuffer.prototype.detached
          4. 25.1.6.4 get ArrayBuffer.prototype.maxByteLength
          5. 25.1.6.5 get ArrayBuffer.prototype.resizable
          6. 25.1.6.6 ArrayBuffer.prototype.resize ( newLength )
          7. 25.1.6.7 ArrayBuffer.prototype.slice ( start, end )
          8. 25.1.6.8 ArrayBuffer.prototype.transfer ( [ newLength ] )
          9. 25.1.6.9 ArrayBuffer.prototype.transferToFixedLength ( [ newLength ] )
          10. 25.1.6.10 ArrayBuffer.prototype [ %Symbol.toStringTag% ]
        7. 25.1.7 Properties of ArrayBuffer Instances
        8. 25.1.8 Resizable ArrayBuffer Guidelines
      2. +25.2 SharedArrayBuffer Objects
        1. 25.2.1 Fixed-length and Growable SharedArrayBuffer Objects
        2. +25.2.2 Abstract Operations for SharedArrayBuffer Objects
          1. 25.2.2.1 AllocateSharedArrayBuffer ( constructor, byteLength [ , maxByteLength ] )
          2. 25.2.2.2 IsSharedArrayBuffer ( obj )
          3. 25.2.2.3 HostGrowSharedArrayBuffer ( buffer, newByteLength )
        3. +25.2.3 The SharedArrayBuffer Constructor
          1. 25.2.3.1 SharedArrayBuffer ( length [ , options ] )
        4. +25.2.4 Properties of the SharedArrayBuffer Constructor
          1. 25.2.4.1 SharedArrayBuffer.prototype
          2. 25.2.4.2 get SharedArrayBuffer [ %Symbol.species% ]
        5. +25.2.5 Properties of the SharedArrayBuffer Prototype Object
          1. 25.2.5.1 get SharedArrayBuffer.prototype.byteLength
          2. 25.2.5.2 SharedArrayBuffer.prototype.constructor
          3. 25.2.5.3 SharedArrayBuffer.prototype.grow ( newLength )
          4. 25.2.5.4 get SharedArrayBuffer.prototype.growable
          5. 25.2.5.5 get SharedArrayBuffer.prototype.maxByteLength
          6. 25.2.5.6 SharedArrayBuffer.prototype.slice ( start, end )
          7. 25.2.5.7 SharedArrayBuffer.prototype [ %Symbol.toStringTag% ]
        6. 25.2.6 Properties of SharedArrayBuffer Instances
        7. 25.2.7 Growable SharedArrayBuffer Guidelines
      3. +25.3 DataView Objects
        1. +25.3.1 Abstract Operations For DataView Objects
          1. 25.3.1.1 DataView With Buffer Witness Records
          2. 25.3.1.2 MakeDataViewWithBufferWitnessRecord ( obj, order )
          3. 25.3.1.3 GetViewByteLength ( viewRecord )
          4. 25.3.1.4 IsViewOutOfBounds ( viewRecord )
          5. 25.3.1.5 GetViewValue ( view, requestIndex, isLittleEndian, type )
          6. 25.3.1.6 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
        2. +25.3.2 The DataView Constructor
          1. 25.3.2.1 DataView ( buffer [ , byteOffset [ , byteLength ] ] )
        3. +25.3.3 Properties of the DataView Constructor
          1. 25.3.3.1 DataView.prototype
        4. +25.3.4 Properties of the DataView Prototype Object
          1. 25.3.4.1 get DataView.prototype.buffer
          2. 25.3.4.2 get DataView.prototype.byteLength
          3. 25.3.4.3 get DataView.prototype.byteOffset
          4. 25.3.4.4 DataView.prototype.constructor
          5. 25.3.4.5 DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] )
          6. 25.3.4.6 DataView.prototype.getBigUint64 ( byteOffset [ , littleEndian ] )
          7. 25.3.4.7 DataView.prototype.getFloat16 ( byteOffset [ , littleEndian ] )
          8. 25.3.4.8 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
          9. 25.3.4.9 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
          10. 25.3.4.10 DataView.prototype.getInt8 ( byteOffset )
          11. 25.3.4.11 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
          12. 25.3.4.12 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
          13. 25.3.4.13 DataView.prototype.getUint8 ( byteOffset )
          14. 25.3.4.14 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
          15. 25.3.4.15 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
          16. 25.3.4.16 DataView.prototype.setBigInt64 ( byteOffset, value [ , littleEndian ] )
          17. 25.3.4.17 DataView.prototype.setBigUint64 ( byteOffset, value [ , littleEndian ] )
          18. 25.3.4.18 DataView.prototype.setFloat16 ( byteOffset, value [ , littleEndian ] )
          19. 25.3.4.19 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
          20. 25.3.4.20 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
          21. 25.3.4.21 DataView.prototype.setInt8 ( byteOffset, value )
          22. 25.3.4.22 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
          23. 25.3.4.23 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
          24. 25.3.4.24 DataView.prototype.setUint8 ( byteOffset, value )
          25. 25.3.4.25 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
          26. 25.3.4.26 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
          27. 25.3.4.27 DataView.prototype [ %Symbol.toStringTag% ]
        5. 25.3.5 Properties of DataView Instances
      4. +25.4 The Atomics Object
        1. 25.4.1 Waiter Record
        2. 25.4.2 WaiterList Records
        3. +25.4.3 Abstract Operations for Atomics
          1. 25.4.3.1 ValidateIntegerTypedArray ( typedArray, waitable )
          2. 25.4.3.2 ValidateAtomicAccess ( taRecord, requestIndex )
          3. 25.4.3.3 ValidateAtomicAccessOnIntegerTypedArray ( typedArray, requestIndex )
          4. 25.4.3.4 RevalidateAtomicAccess ( typedArray, byteIndexInBuffer )
          5. 25.4.3.5 GetWaiterList ( block, i )
          6. 25.4.3.6 EnterCriticalSection ( WL )
          7. 25.4.3.7 LeaveCriticalSection ( WL )
          8. 25.4.3.8 AddWaiter ( WL, waiterRecord )
          9. 25.4.3.9 RemoveWaiter ( WL, waiterRecord )
          10. 25.4.3.10 RemoveWaiters ( WL, c )
          11. 25.4.3.11 SuspendThisAgent ( WL, waiterRecord )
          12. 25.4.3.12 NotifyWaiter ( WL, waiterRecord )
          13. 25.4.3.13 EnqueueResolveInAgentJob ( agentSignifier, promiseCapability, resolution )
          14. 25.4.3.14 DoWait ( mode, typedArray, index, value, timeout )
          15. 25.4.3.15 EnqueueAtomicsWaitAsyncTimeoutJob ( WL, waiterRecord )
          16. 25.4.3.16 AtomicCompareExchangeInSharedBlock ( block, byteIndexInBuffer, elementSize, expectedBytes, replacementBytes )
          17. 25.4.3.17 AtomicReadModifyWrite ( typedArray, index, value, op )
          18. 25.4.3.18 ByteListBitwiseOp ( op, xBytes, yBytes )
          19. 25.4.3.19 ByteListEqual ( xBytes, yBytes )
        4. 25.4.4 Atomics.add ( typedArray, index, value )
        5. 25.4.5 Atomics.and ( typedArray, index, value )
        6. 25.4.6 Atomics.compareExchange ( typedArray, index, expectedValue, replacementValue )
        7. 25.4.7 Atomics.exchange ( typedArray, index, value )
        8. 25.4.8 Atomics.isLockFree ( size )
        9. 25.4.9 Atomics.load ( typedArray, index )
        10. 25.4.10 Atomics.or ( typedArray, index, value )
        11. 25.4.11 Atomics.store ( typedArray, index, value )
        12. 25.4.12 Atomics.sub ( typedArray, index, value )
        13. 25.4.13 Atomics.wait ( typedArray, index, value, timeout )
        14. 25.4.14 Atomics.waitAsync ( typedArray, index, value, timeout )
        15. 25.4.15 Atomics.notify ( typedArray, index, count )
        16. 25.4.16 Atomics.xor ( typedArray, index, value )
        17. 25.4.17 Atomics [ %Symbol.toStringTag% ]
      5. +25.5 The JSON Object
        1. +25.5.1 JSON.parse ( text [ , reviver ] )
          1. 25.5.1.1 ParseJSON ( text )
          2. 25.5.1.2 InternalizeJSONProperty ( holder, name, reviver )
        2. +25.5.2 JSON.stringify ( value [ , replacer [ , space ] ] )
          1. 25.5.2.1 JSON Serialization Record
          2. 25.5.2.2 SerializeJSONProperty ( state, key, holder )
          3. 25.5.2.3 QuoteJSONString ( value )
          4. 25.5.2.4 UnicodeEscape ( C )
          5. 25.5.2.5 SerializeJSONObject ( state, value )
          6. 25.5.2.6 SerializeJSONArray ( state, value )
        3. 25.5.3 JSON [ %Symbol.toStringTag% ]
    27. +26 Managing Memory
      1. +26.1 WeakRef Objects
        1. +26.1.1 The WeakRef Constructor
          1. 26.1.1.1 WeakRef ( target )
        2. +26.1.2 Properties of the WeakRef Constructor
          1. 26.1.2.1 WeakRef.prototype
        3. +26.1.3 Properties of the WeakRef Prototype Object
          1. 26.1.3.1 WeakRef.prototype.constructor
          2. 26.1.3.2 WeakRef.prototype.deref ( )
          3. 26.1.3.3 WeakRef.prototype [ %Symbol.toStringTag% ]
        4. +26.1.4 WeakRef Abstract Operations
          1. 26.1.4.1 WeakRefDeref ( weakRef )
        5. 26.1.5 Properties of WeakRef Instances
      2. +26.2 FinalizationRegistry Objects
        1. +26.2.1 The FinalizationRegistry Constructor
          1. 26.2.1.1 FinalizationRegistry ( cleanupCallback )
        2. +26.2.2 Properties of the FinalizationRegistry Constructor
          1. 26.2.2.1 FinalizationRegistry.prototype
        3. +26.2.3 Properties of the FinalizationRegistry Prototype Object
          1. 26.2.3.1 FinalizationRegistry.prototype.constructor
          2. 26.2.3.2 FinalizationRegistry.prototype.register ( target, heldValue [ , unregisterToken ] )
          3. 26.2.3.3 FinalizationRegistry.prototype.unregister ( unregisterToken )
          4. 26.2.3.4 FinalizationRegistry.prototype [ %Symbol.toStringTag% ]
        4. 26.2.4 Properties of FinalizationRegistry Instances
    28. +27 Control Abstraction Objects
      1. +27.1 Iteration
        1. +27.1.1 Common Iteration Interfaces
          1. 27.1.1.1 The Iterable Interface
          2. 27.1.1.2 The Iterator Interface
          3. 27.1.1.3 The Async Iterable Interface
          4. 27.1.1.4 The Async Iterator Interface
          5. 27.1.1.5 The IteratorResult Interface
        2. +27.1.2 Iterator Helper Objects
          1. +27.1.2.1 The %IteratorHelperPrototype% Object
            1. 27.1.2.1.1 %IteratorHelperPrototype%.next ( )
            2. 27.1.2.1.2 %IteratorHelperPrototype%.return ( )
            3. 27.1.2.1.3 %IteratorHelperPrototype% [ %Symbol.toStringTag% ]
        3. +27.1.3 Iterator Objects
          1. +27.1.3.1 The Iterator Constructor
            1. 27.1.3.1.1 Iterator ( )
          2. +27.1.3.2 Properties of the Iterator Constructor
            1. +27.1.3.2.1 Iterator.from ( O )
              1. +27.1.3.2.1.1 The %WrapForValidIteratorPrototype% Object
                1. 27.1.3.2.1.1.1 %WrapForValidIteratorPrototype%.next ( )
                2. 27.1.3.2.1.1.2 %WrapForValidIteratorPrototype%.return ( )
            2. 27.1.3.2.2 Iterator.prototype
        4. +27.1.4 Properties of the Iterator Prototype Object
          1. +27.1.4.1 Iterator.prototype.constructor
            1. 27.1.4.1.1 get Iterator.prototype.constructor
            2. 27.1.4.1.2 set Iterator.prototype.constructor
          2. 27.1.4.2 Iterator.prototype.drop ( limit )
          3. 27.1.4.3 Iterator.prototype.every ( predicate )
          4. 27.1.4.4 Iterator.prototype.filter ( predicate )
          5. 27.1.4.5 Iterator.prototype.find ( predicate )
          6. 27.1.4.6 Iterator.prototype.flatMap ( mapper )
          7. 27.1.4.7 Iterator.prototype.forEach ( procedure )
          8. 27.1.4.8 Iterator.prototype.map ( mapper )
          9. 27.1.4.9 Iterator.prototype.reduce ( reducer [ , initialValue ] )
          10. 27.1.4.10 Iterator.prototype.some ( predicate )
          11. 27.1.4.11 Iterator.prototype.take ( limit )
          12. 27.1.4.12 Iterator.prototype.toArray ( )
          13. 27.1.4.13 Iterator.prototype [ %Symbol.iterator% ] ( )
          14. +27.1.4.14 Iterator.prototype [ %Symbol.toStringTag% ]
            1. 27.1.4.14.1 get Iterator.prototype [ %Symbol.toStringTag% ]
            2. 27.1.4.14.2 set Iterator.prototype [ %Symbol.toStringTag% ]
        5. +27.1.5 The %AsyncIteratorPrototype% Object
          1. 27.1.5.1 %AsyncIteratorPrototype% [ %Symbol.asyncIterator% ] ( )
        6. +27.1.6 Async-from-Sync Iterator Objects
          1. 27.1.6.1 CreateAsyncFromSyncIterator ( syncIteratorRecord )
          2. +27.1.6.2 The %AsyncFromSyncIteratorPrototype% Object
            1. 27.1.6.2.1 %AsyncFromSyncIteratorPrototype%.next ( [ value ] )
            2. 27.1.6.2.2 %AsyncFromSyncIteratorPrototype%.return ( [ value ] )
            3. 27.1.6.2.3 %AsyncFromSyncIteratorPrototype%.throw ( [ value ] )
          3. 27.1.6.3 Properties of Async-from-Sync Iterator Instances
          4. 27.1.6.4 AsyncFromSyncIteratorContinuation ( result, promiseCapability, syncIteratorRecord, closeOnRejection )
      2. +27.2 Promise Objects
        1. +27.2.1 Promise Abstract Operations
          1. +27.2.1.1 PromiseCapability Records
            1. 27.2.1.1.1 IfAbruptRejectPromise ( value, capability )
          2. 27.2.1.2 PromiseReaction Records
          3. +27.2.1.3 CreateResolvingFunctions ( promise )
            1. 27.2.1.3.1 Promise Reject Functions
            2. 27.2.1.3.2 Promise Resolve Functions
          4. 27.2.1.4 FulfillPromise ( promise, value )
          5. 27.2.1.5 NewPromiseCapability ( C )
          6. 27.2.1.6 IsPromise ( x )
          7. 27.2.1.7 RejectPromise ( promise, reason )
          8. 27.2.1.8 TriggerPromiseReactions ( reactions, argument )
          9. 27.2.1.9 HostPromiseRejectionTracker ( promise, operation )
        2. +27.2.2 Promise Jobs
          1. 27.2.2.1 NewPromiseReactionJob ( reaction, argument )
          2. 27.2.2.2 NewPromiseResolveThenableJob ( promiseToResolve, thenable, then )
        3. +27.2.3 The Promise Constructor
          1. 27.2.3.1 Promise ( executor )
        4. +27.2.4 Properties of the Promise Constructor
          1. +27.2.4.1 Promise.all ( iterable )
            1. 27.2.4.1.1 GetPromiseResolve ( promiseConstructor )
            2. 27.2.4.1.2 PerformPromiseAll ( iteratorRecord, constructor, resultCapability, promiseResolve )
            3. 27.2.4.1.3 Promise.all Resolve Element Functions
          2. +27.2.4.2 Promise.allSettled ( iterable )
            1. 27.2.4.2.1 PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability, promiseResolve )
            2. 27.2.4.2.2 Promise.allSettled Resolve Element Functions
            3. 27.2.4.2.3 Promise.allSettled Reject Element Functions
          3. +27.2.4.3 Promise.any ( iterable )
            1. 27.2.4.3.1 PerformPromiseAny ( iteratorRecord, constructor, resultCapability, promiseResolve )
            2. 27.2.4.3.2 Promise.any Reject Element Functions
          4. 27.2.4.4 Promise.prototype
          5. +27.2.4.5 Promise.race ( iterable )
            1. 27.2.4.5.1 PerformPromiseRace ( iteratorRecord, constructor, resultCapability, promiseResolve )
          6. 27.2.4.6 Promise.reject ( r )
          7. +27.2.4.7 Promise.resolve ( x )
            1. 27.2.4.7.1 PromiseResolve ( C, x )
          8. 27.2.4.8 Promise.try ( callback, ...args )
          9. 27.2.4.9 Promise.withResolvers ( )
          10. 27.2.4.10 get Promise [ %Symbol.species% ]
        5. +27.2.5 Properties of the Promise Prototype Object
          1. 27.2.5.1 Promise.prototype.catch ( onRejected )
          2. 27.2.5.2 Promise.prototype.constructor
          3. 27.2.5.3 Promise.prototype.finally ( onFinally )
          4. +27.2.5.4 Promise.prototype.then ( onFulfilled, onRejected )
            1. 27.2.5.4.1 PerformPromiseThen ( promise, onFulfilled, onRejected [ , resultCapability ] )
          5. 27.2.5.5 Promise.prototype [ %Symbol.toStringTag% ]
        6. 27.2.6 Properties of Promise Instances
      3. +27.3 GeneratorFunction Objects
        1. +27.3.1 The GeneratorFunction Constructor
          1. 27.3.1.1 GeneratorFunction ( ...parameterArgs, bodyArg )
        2. +27.3.2 Properties of the GeneratorFunction Constructor
          1. 27.3.2.1 GeneratorFunction.prototype
        3. +27.3.3 Properties of the GeneratorFunction Prototype Object
          1. 27.3.3.1 GeneratorFunction.prototype.constructor
          2. 27.3.3.2 GeneratorFunction.prototype.prototype
          3. 27.3.3.3 GeneratorFunction.prototype [ %Symbol.toStringTag% ]
        4. +27.3.4 GeneratorFunction Instances
          1. 27.3.4.1 length
          2. 27.3.4.2 name
          3. 27.3.4.3 prototype
      4. +27.4 AsyncGeneratorFunction Objects
        1. +27.4.1 The AsyncGeneratorFunction Constructor
          1. 27.4.1.1 AsyncGeneratorFunction ( ...parameterArgs, bodyArg )
        2. +27.4.2 Properties of the AsyncGeneratorFunction Constructor
          1. 27.4.2.1 AsyncGeneratorFunction.prototype
        3. +27.4.3 Properties of the AsyncGeneratorFunction Prototype Object
          1. 27.4.3.1 AsyncGeneratorFunction.prototype.constructor
          2. 27.4.3.2 AsyncGeneratorFunction.prototype.prototype
          3. 27.4.3.3 AsyncGeneratorFunction.prototype [ %Symbol.toStringTag% ]
        4. +27.4.4 AsyncGeneratorFunction Instances
          1. 27.4.4.1 length
          2. 27.4.4.2 name
          3. 27.4.4.3 prototype
      5. +27.5 Generator Objects
        1. +27.5.1 The %GeneratorPrototype% Object
          1. 27.5.1.1 %GeneratorPrototype%.constructor
          2. 27.5.1.2 %GeneratorPrototype%.next ( value )
          3. 27.5.1.3 %GeneratorPrototype%.return ( value )
          4. 27.5.1.4 %GeneratorPrototype%.throw ( exception )
          5. 27.5.1.5 %GeneratorPrototype% [ %Symbol.toStringTag% ]
        2. 27.5.2 Properties of Generator Instances
        3. +27.5.3 Generator Abstract Operations
          1. 27.5.3.1 GeneratorStart ( generator, generatorBody )
          2. 27.5.3.2 GeneratorValidate ( generator, generatorBrand )
          3. 27.5.3.3 GeneratorResume ( generator, value, generatorBrand )
          4. 27.5.3.4 GeneratorResumeAbrupt ( generator, abruptCompletion, generatorBrand )
          5. 27.5.3.5 GetGeneratorKind ( )
          6. 27.5.3.6 GeneratorYield ( iteratorResult )
          7. 27.5.3.7 Yield ( value )
          8. 27.5.3.8 CreateIteratorFromClosure ( closure, generatorBrand, generatorPrototype [ , extraSlots ] )
      6. +27.6 AsyncGenerator Objects
        1. +27.6.1 The %AsyncGeneratorPrototype% Object
          1. 27.6.1.1 %AsyncGeneratorPrototype%.constructor
          2. 27.6.1.2 %AsyncGeneratorPrototype%.next ( value )
          3. 27.6.1.3 %AsyncGeneratorPrototype%.return ( value )
          4. 27.6.1.4 %AsyncGeneratorPrototype%.throw ( exception )
          5. 27.6.1.5 %AsyncGeneratorPrototype% [ %Symbol.toStringTag% ]
        2. 27.6.2 Properties of AsyncGenerator Instances
        3. +27.6.3 AsyncGenerator Abstract Operations
          1. 27.6.3.1 AsyncGeneratorRequest Records
          2. 27.6.3.2 AsyncGeneratorStart ( generator, generatorBody )
          3. 27.6.3.3 AsyncGeneratorValidate ( generator, generatorBrand )
          4. 27.6.3.4 AsyncGeneratorEnqueue ( generator, completion, promiseCapability )
          5. 27.6.3.5 AsyncGeneratorCompleteStep ( generator, completion, done [ , realm ] )
          6. 27.6.3.6 AsyncGeneratorResume ( generator, completion )
          7. 27.6.3.7 AsyncGeneratorUnwrapYieldResumption ( resumptionValue )
          8. 27.6.3.8 AsyncGeneratorYield ( value )
          9. 27.6.3.9 AsyncGeneratorAwaitReturn ( generator )
          10. 27.6.3.10 AsyncGeneratorDrainQueue ( generator )
          11. 27.6.3.11 CreateAsyncIteratorFromClosure ( closure, generatorBrand, generatorPrototype )
      7. +27.7 AsyncFunction Objects
        1. +27.7.1 The AsyncFunction Constructor
          1. 27.7.1.1 AsyncFunction ( ...parameterArgs, bodyArg )
        2. +27.7.2 Properties of the AsyncFunction Constructor
          1. 27.7.2.1 AsyncFunction.prototype
        3. +27.7.3 Properties of the AsyncFunction Prototype Object
          1. 27.7.3.1 AsyncFunction.prototype.constructor
          2. 27.7.3.2 AsyncFunction.prototype [ %Symbol.toStringTag% ]
        4. +27.7.4 AsyncFunction Instances
          1. 27.7.4.1 length
          2. 27.7.4.2 name
        5. +27.7.5 Async Functions Abstract Operations
          1. 27.7.5.1 AsyncFunctionStart ( promiseCapability, asyncFunctionBody )
          2. 27.7.5.2 AsyncBlockStart ( promiseCapability, asyncBody, asyncContext )
          3. 27.7.5.3 Await ( value )
    29. +28 Reflection
      1. +28.1 The Reflect Object
        1. 28.1.1 Reflect.apply ( target, thisArgument, argumentsList )
        2. 28.1.2 Reflect.construct ( target, argumentsList [ , newTarget ] )
        3. 28.1.3 Reflect.defineProperty ( target, propertyKey, attributes )
        4. 28.1.4 Reflect.deleteProperty ( target, propertyKey )
        5. 28.1.5 Reflect.get ( target, propertyKey [ , receiver ] )
        6. 28.1.6 Reflect.getOwnPropertyDescriptor ( target, propertyKey )
        7. 28.1.7 Reflect.getPrototypeOf ( target )
        8. 28.1.8 Reflect.has ( target, propertyKey )
        9. 28.1.9 Reflect.isExtensible ( target )
        10. 28.1.10 Reflect.ownKeys ( target )
        11. 28.1.11 Reflect.preventExtensions ( target )
        12. 28.1.12 Reflect.set ( target, propertyKey, V [ , receiver ] )
        13. 28.1.13 Reflect.setPrototypeOf ( target, proto )
        14. 28.1.14 Reflect [ %Symbol.toStringTag% ]
      2. +28.2 Proxy Objects
        1. +28.2.1 The Proxy Constructor
          1. 28.2.1.1 Proxy ( target, handler )
        2. +28.2.2 Properties of the Proxy Constructor
          1. 28.2.2.1 Proxy.revocable ( target, handler )
      3. +28.3 Module Namespace Objects
        1. 28.3.1 %Symbol.toStringTag%
    30. +29 Memory Model
      1. 29.1 Memory Model Fundamentals
      2. 29.2 Agent Events Records
      3. 29.3 Chosen Value Records
      4. 29.4 Candidate Executions
      5. +29.5 Abstract Operations for the Memory Model
        1. 29.5.1 EventSet ( execution )
        2. 29.5.2 SharedDataBlockEventSet ( execution )
        3. 29.5.3 HostEventSet ( execution )
        4. 29.5.4 ComposeWriteEventBytes ( execution, byteIndex, Ws )
        5. 29.5.5 ValueOfReadEvent ( execution, R )
      6. +29.6 Relations of Candidate Executions
        1. 29.6.1 is-agent-order-before
        2. 29.6.2 reads-bytes-from
        3. 29.6.3 reads-from
        4. 29.6.4 host-synchronizes-with
        5. 29.6.5 synchronizes-with
        6. 29.6.6 happens-before
      7. +29.7 Properties of Valid Executions
        1. 29.7.1 Valid Chosen Reads
        2. 29.7.2 Coherent Reads
        3. 29.7.3 Tear Free Reads
        4. 29.7.4 Sequentially Consistent Atomics
        5. 29.7.5 Valid Executions
      8. 29.8 Races
      9. 29.9 Data Races
      10. 29.10 Data Race Freedom
      11. 29.11 Shared Memory Guidelines
    31. +Annex A (informative) Grammar Summary
      1. A.1 Lexical Grammar
      2. A.2 Expressions
      3. A.3 Statements
      4. A.4 Functions and Classes
      5. A.5 Scripts and Modules
      6. A.6 Number Conversions
      7. A.7 Time Zone Offset String Format
      8. A.8 Regular Expressions
    32. +Annex B (normative) Additional ECMAScript Features for Web Browsers
      1. +B.1 Additional Syntax
        1. B.1.1 HTML-like Comments
        2. +B.1.2 Regular Expressions Patterns
          1. B.1.2.1 SS: Early Errors
          2. B.1.2.2 SS: CountLeftCapturingParensWithin and CountLeftCapturingParensBefore
          3. B.1.2.3 SS: IsCharacterClass
          4. B.1.2.4 SS: CharacterValue