介绍
1 范围
2 一致性
3 规范性引用
4 概述
4.1 Web脚本语言
4.2 语言描述
4.2.1 对象
4.2.2 ECMAScript的严格模式变体
4.3 术语定义
4.3.1 类型
4.3.2 原始值
4.3.3 对象
4.3.4 构造器
4.3.5 原型
4.3.6 普通对象
4.3.7 异类对象
4.3.8 标准对象
4.3.9 内置对象
4.3.10 undefined 值
4.3.11 Undefined 类型
4.3.12 null 值
4.3.13 Null 类型
4.3.14 Boolean 值
4.3.15 Boolean 类型
4.3.16 Boolean 对象
4.3.17 String 值
4.3.18 String 类型
4.3.19 String 对象
4.3.20 Number 值
4.3.21 Number 类型
4.3.22 Number 对象
4.3.23 Infinity
4.3.24 NaN
4.3.25 Symbol 值
4.3.26 Symbol 类型
4.3.27 Symbol 对象
4.3.28 函数
4.3.29 内置函数
4.3.30 属性
4.3.31 方法
4.3.32 内置方法
4.3.33 特性
4.3.34 自身属性
4.3.35 继承属性
4.4 本规范的组织
5 记法约定
5.1 句法和词法
5.1.1 上下文无关语法
5.1.2 词法和正则的文法
5.1.3 数字字符串文法
5.1.4 句法
5.1.5 文法标记法
5.2 算法约定
5.2.1 抽象操作
5.2.2 特定语法操作
5.2.3 运行时语义
5.2.3.1 隐式完成值
5.2.3.2 抛出一个异常
5.2.3.3 中断并返回
5.2.3.4 中断并返回缩写
5.2.3.4 静态语义
5.2.3.5 数学操作
6 ECMAScript数据类型和值
6.1 ECMAScript语言类型
6.1.1 Undefined 类型
6.1.2 Null 类型
6.1.3 Boolean 类型
6.1.4 String 类型
6.1.5 Symbol 类型
6.1.5.1 常见的Symbol
6.1.6 Number 类型
6.1.7 Object 类型
6.1.7.1 属性的特性
6.1.7.2 对象内部方法和内部插槽
6.1.7.3 基本内在方法的不变量
6.1.7.4 常见的内在对象
6.2 ECMAScrpit规范类型
6.2.1 列表和记录规范类型
6.2.2 设置和关系规范类型
6.2.3 完成记录规范类型
6.2.3.1 Await
6.2.3.1.1 Await已完成函数
6.2.3.1.2 Await已失败函数
6.2.3.2 正常完成
6.2.3.3 抛出异常
6.2.3.4 UpdateEmpty ( completionRecord, value )
6.2.4 引用规范类型
6.2.4.1 GetBase (V )
6.2.4.2 GetReferencedName ( V )
6.2.4.3 IsStrictReference ( V )
6.2.4.4 HasPrimitiveBase ( V )
6.2.4.5 IsPropertyReference ( V )
6.2.4.6 IsUnresolvableReference ( V )
6.2.4.7 IsSuperReference ( V )
6.2.4.8 GetValue ( V )
6.2.4.9 PutValue ( V, W )
6.2.4.10 GetThisValue ( V )
6.2.4.11 InitializeReferencedBinding ( V, W )
6.2.5 属性描述规范类型
6.2.5.1 IsAccessorDescriptor ( Desc )
6.2.5.2 IsDataDescriptor ( Desc )
6.2.5.3 IsGenericDescriptor ( Desc )
6.2.5.4 FromPropertyDescriptor ( Desc )
6.2.5.5 ToPropertyDescriptor ( Desc )
6.2.5.6 CompletePropertyDescriptor ( Desc )
6.2.6 词法环境和环境记录规范类型
6.2.7 数据块
6.2.7.1 CreateByteDataBlock ( size )
6.2.7.2 CreateSharedByteDataBlock ( size )
6.2.7.3 CopyDataBlockBytes ( toBlock, toIndex, fromBlock, fromIndex, count )
7 抽象操作
7.1 类型转换
7.1.1 ToPrimitive ( input [ , PreferredType ] )
7.1.1.1 OrdinaryToPrimitive ( O, hint )
7.1.2 ToBoolean ( argument )
7.1.3 ToNumber ( argument )
7.1.3.1 ToNumber应用于字符串类型
7.1.3.1.1 运行时语义: MV's
7.1.4 ToInteger ( argument )
7.1.5 ToInt32 ( argument )
7.1.6 ToUint32 ( argument )
7.1.7 ToInt16 ( argument )
7.1.8 ToUint16 ( argument )
7.1.9 ToInt8 ( argument )
7.1.10 ToUint8 ( argument )
7.1.11 ToUint8Clamp ( argument )
7.1.12 ToString ( argument )
7.1.12.1 NumberToString ( m )
7.1.13 ToObject ( argument )
7.1.14 ToPropertyKey ( argument )
7.1.15 ToLength ( argument )
7.1.16 CanonicalNumericIndexString ( argument )
7.1.17 ToIndex ( value )
7.2 测试和比较操作
7.2.1 RequireObjectCoercible ( argument )
7.2.2 IsArray ( argument )
7.2.3 IsCallable ( argument )
7.2.4 IsConstructor ( argument )
7.2.5 IsExtensible ( O )
7.2.6 IsInteger ( argument )
7.2.7 IsPropertyKey ( argument )
7.2.8 IsRegExp ( argument )
7.2.9 IsStringPrefix ( p, q )
7.2.10 SameValue ( x, y )
7.2.11 SameValueZero ( x, y )
7.2.12 SameValueNonNumber ( x, y )
7.2.13 抽象关系比较
7.2.14 抽象相等比较
7.2.15 严格相等比较
7.3 对象的操作
7.3.1 Get ( O, P )
7.3.2 GetV ( V, P )
7.3.3 Set ( O, P, V, Throw )
7.3.4 CreateDataProperty ( O, P, V )
7.3.5 CreateMethodProperty ( O, P, V )
7.3.6 CreateDataPropertyOrThrow ( O, P, V )
7.3.7 DefinePropertyOrThrow ( O, P, desc )
7.3.8 DeletePropertyOrThrow ( O, P )
7.3.9 GetMethod ( V, P )
7.3.10 HasProperty ( O, P )
7.3.11 HasOwnProperty ( O, P )
7.3.12 Call ( F, V [ , argumentsList ] )
7.3.13 Construct ( F [ , argumentsList [ , newTarget ] ] )
7.3.14 SetIntegrityLevel ( O, level )
7.3.15 TestIntegrityLevel ( O, level )
7.3.16 CreateArrayFromList ( elements )
7.3.17 CreateListFromArrayLike ( obj [ , elementTypes ] )
7.3.18 Invoke ( V, P [ , argumentsList ] )
7.3.19 OrdinaryHasInstance ( C, O )
7.3.20 SpeciesConstructor ( O, defaultConstructor )
7.3.21 EnumerableOwnPropertyNames ( O, kind )
7.3.22 GetFunctionRealm ( obj )
7.3.23 CopyDataProperties ( target, source, excludedItems )
7.4 迭代器对象的操作
7.4.1 GetIterator ( obj [ , hint [ , method ] ] )
7.4.2 IteratorNext ( iteratorRecord [ , value ] )
7.4.3 IteratorComplete ( iterResult )
7.4.4 IteratorValue ( iterResult )
7.4.5 IteratorStep ( iteratorRecord )
7.4.6 IteratorClose ( iteratorRecord, completion )
7.4.7 AsyncIteratorClose ( iteratorRecord, completion )
7.4.8 CreateIterResultObject ( value, done )
7.4.9.1 ListIterator next ( )
8 可执行代码和可执行上下文
8.1 词法环境
8.1.1 环境记录
8.1.1.1 声明环境记录
8.1.1.1.1 HasBinding ( N )
8.1.1.1.2 CreateMutableBinding ( N, D )
8.1.1.1.3 CreateImmutableBinding ( N, S )
8.1.1.1.4 InitializeBinding ( N, V )
8.1.1.1.5 SetMutableBinding ( N, V, S )
8.1.1.1.6 GetBindingValue ( N, S )
8.1.1.1.7 DeleteBinding ( N )
8.1.1.1.8 HasThisBinding ( )
8.1.1.1.9 HasSuperBinding ( )
8.1.1.1.10 WithBaseObject ( )
8.1.1.2 对象环境记录
8.1.1.2.1 HasBinding ( N )
8.1.1.1.2 CreateMutableBinding ( N, D )
8.1.1.2.3 CreateImmutableBinding ( N, S )
8.1.1.2.4 InitializeBinding ( N, V )
8.1.1.2.5 SetMutableBinding ( N, V, S )
8.1.1.2.6 GetBindingValue ( N, S )
8.1.1.2.7 DeleteBinding ( N )
8.1.1.2.8 HasThisBinding ( )
8.1.1.2.9 HasSuperBinding ( )
8.1.1.2.10 WithBaseObject ( )
8.1.1.3 函数环境记录
8.1.1.3.1 BindThisValue ( V )
8.1.1.3.2 HasThisBinding ( )
8.1.1.3.3 HasSuperBinding ( )
8.1.1.3.4 GetThisBinding ( )
8.1.1.3.5 GetSuperBase ( )
8.1.1.4 全局环境记录
8.1.1.4.1 HasBinding ( N )
8.1.1.4.2 CreateMutableBinding ( N, D )
8.1.1.4.3 CreateImmutableBinding ( N, S )
8.1.1.4.4 InitializeBinding ( N, V )
8.1.1.4.5 SetMutableBinding ( N, V, S )
8.1.1.4.6 GetBindingValue ( N, S )
8.1.1.4.7 DeleteBinding ( N )
8.1.1.4.8 HasThisBinding ( )
8.1.1.4.9 HasSuperBinding ( )
8.1.1.4.10 WithBaseObject ( )
8.1.1.4.11 GetThisBinding ( )
8.1.1.4.12 HasVarDeclaration ( N )
8.1.1.4.13 HasLexicalDeclaration ( N )
8.1.1.4.14 HasRestrictedGlobalProperty ( N )
8.1.1.4.15 CanDeclareGlobalVar ( N )
8.1.1.4.16 CanDeclareGlobalFunction ( N )
8.1.1.4.17 CreateGlobalVarBinding ( N, D )
8.1.1.4.18 CreateGlobalFunctionBinding ( N, V, D )
8.1.1.5 模块环境记录
8.1.1.5.1 GetBindingValue ( N, S )
8.1.1.5.2 DeleteBinding ( N )
8.1.1.5.3 HasThisBinding ( )
8.1.1.5.4 GetThisBinding ( )
8.1.1.5.5 CreateImportBinding ( N, M, N2 )
8.1.2 词法环境操作
8.1.2.1 GetIdentifierReference ( lex, name, strict )
8.1.2.2 NewDeclarativeEnvironment ( E )
8.1.2.3 NewObjectEnvironment ( O, E )
8.1.2.4 NewFunctionEnvironment ( F, newTarget )
8.1.2.5 NewGlobalEnvironment ( G, thisValue )
8.1.2.6 NewModuleEnvironment ( E )
8.2 作用域
8.2.1 CreateRealm ( )
8.2.2 CreateIntrinsics ( realmRec )
8.2.3 SetRealmGlobalObject ( realmRec, globalObj, thisValue )
8.2.4 SetDefaultGlobalBindings ( realmRec )
8.3 可执行上下文
8.3.1 GetActiveScriptOrModule ( )
8.3.2 ResolveBinding ( name [ , env ])
8.3.3 GetThisEnvironment ( )
8.3.4 ResolveThisBinding ( )
8.3.5 GetNewTarget ( )
8.3.6 GetGlobalObject ( )
8.4 任务和任务队列
8.4.1 EnqueueJob ( queueName, job, arguments )
8.5 InitializeHostDefinedRealm ( )
8.6 RunJobs ( )
8.7 代理
8.7.1 AgentSignifier ( )
8.7.2 AgentCanSuspend ( )
8.8 代理集群
8.9 前进进度
9 普通和异类对象行为
9.1 普通对象内部方法和内部插槽
9.1.1 [[GetPrototypeOf]] ( )
9.1.1.1 OrdinaryGetPrototypeOf ( O )
9.1.2 [[SetPrototypeOf]] ( V )
9.1.2.1 OrdinarySetPrototypeOf ( O, V )
9.1.3 [[IsExtensible]] ( )
9.1.3.1 OrdinaryIsExtensible ( O )
9.1.4 [[PreventExtensions]] ( )
9.1.4.1 OrdinaryPreventExtensions ( O )
9.1.5 [[GetOwnProperty]] ( P )
9.1.5.1 OrdinaryGetOwnProperty ( O, P )
9.1.6 [[DefineOwnProperty]] ( P, Desc )
9.1.6.1 OrdinaryDefineOwnProperty ( O, P, Desc )
9.1.6.2 IsCompatiblePropertyDescriptor ( Extensible, Desc, Current )
9.1.6.3 ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )
9.1.7 [[HasProperty]] ( P )
9.1.7.1 OrdinaryHasProperty ( O, P )
9.1.8 [[Get]] ( P, Receiver )
9.1.8.1 OrdinaryGet ( O, P, Receiver )
9.1.9 [[Set]] ( P, V, Receiver )
9.1.9.1 OrdinarySet ( O, P, V, Receiver )
9.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V , Receiver, ownDesc )
9.1.10 [[Delete]] ( P )
9.1.10.1 OrdinaryDelete ( O, P )
9.1.11 [[OwnPropertyKeys]] ( )
9.1.11.1 OrdinaryOwnPropertyKeys ( O )
9.1.12 ObjectCreate ( proto [ , internalSlotsList ] )
9.1.13 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
9.1.14 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
9.2 ECMAScript函数对象
9.2.1 [[Call]] ( thisArgument, argumentsList )
9.2.1.1 PrepareForOrdinaryCall ( F, newTarget )
9.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
9.2.2 [[Construct]] ( argumentsList, newTarget )
9.2.3 FunctionAllocate ( functionPrototype, strict, functionKind )
9.2.4 FunctionInitialize ( F, kind, ParameterList, Body, Scope )
9.2.5 FunctionCreate ( kind, ParameterList, Body, Scope, Strict [ , prototype ] )
9.2.6 GeneratorFunctionCreate ( kind, ParameterList, Body, Scope, Strict )
9.2.7 AsyncGeneratorFunctionCreate ( kind, ParameterList, Body, Scope, Strict )
9.2.8 AsyncFunctionCreate ( kind, parameters, body, Scope, Strict )
9.2.9 AddRestrictedFunctionProperties ( F, realm )
9.2.9.1 %ThrowTypeError% ( )
9.2.10 MakeConstructor ( F [ , writablePrototype [ , prototype ] ] )
9.2.11 MakeClassConstructor ( F )
9.2.12 MakeMethod ( F, homeObject )
9.2.13 SetFunctionName ( F, name [ , prefix ] )
9.2.14 SetFunctionLength ( F, length )
9.2.15 FunctionDeclarationInstantion ( func, argumentsList )
9.3 内置函数对象
9.3.1 [[Call]] ( thisArgument, argumentsList )
9.3.2 [[Construct]] ( argumentsList, newTarget )
9.3.3 CreateBuiltinFunction ( steps, internalSlotsList [ , realm [ , prototype ] ] )
9.4 内置异类对象内部方法和插槽
9.4.1 绑定函数异类对象
9.4.1.1 [[Call]] ( thisArgument, argumentsList )
9.4.1.2 [[Construct]] ( argumentsList, newTarget )
9.4.1.3 BoundFunctionCreate ( targetFunction, boundThis, boundArgs )
9.4.2 数组异类对象
9.4.2.1 [[DefineOwnProperty]] ( P, Desc )
9.4.2.2 ArrayCreate ( length [ , proto ] )
9.4.2.3 ArraySpeciesCreate ( originalArray, length )
9.4.2.4 ArraySetLength ( A, Desc )
9.4.3 字符串异类对象
9.4.3.1 [[GetOwnProperty]] ( P )
9.4.3.2 [[DefineOwnProperty]] ( P, Desc )
9.4.3.3 [[OwnPropertyKeys]] ( )
9.4.3.4 StringCreate ( value, prototype )
9.4.3.5 StringGetOwnProperty ( S, P )
9.4.4 参数异类对象
9.4.4.1 [[GetOwnProperty]] ( P )
9.4.4.2 [[DefineOwnProperty]] ( P, Desc )
9.4.4.3 [[Get]] ( P, Receiver )
9.4.4.4 [[Set]] ( P, V, Receiver )
9.4.4.5 [[Delete]] ( P )
9.4.4.6 CreateUnmappedArgumentsObject ( argumentsList )
9.4.4.7 CreateMappedArgumentsObject ( func, formals, argumentsList, env )
9.4.4.7.1 MakeArgGetter ( name, env )
9.4.4.7.2 MakeArgSetter ( name, env )
9.4.5 整数索引异类对象
9.4.5.1 [[GetOwnProperty]] ( P )
9.4.5.2 [[HasProperty]] ( P )
9.4.5.3 [[DefineOwnProperty]] ( P, Desc )
9.4.5.4 [[Get]] ( P, Receiver )
9.4.5.5 [[Set]] ( P, V, Receiver )
9.4.5.6 [[OwnPropertyKeys]] ( )
9.4.5.7 IntegerIndexedObjectCreate ( prototype, internalSlotsList )
9.4.5.8 IntegerIndexedElementGet ( O, index )
9.4.5.9 IntegerIndexedElementSet ( O, index, value )
9.4.6 模块命名空间异类对象
9.4.6.1 [[SetPrototypeOf]] ( V )
9.4.6.2 [[IsExtensible]] ( )
9.4.6.3 [[PreventExtensions]] ( )
9.4.6.4 [[GetOwnProperty]] ( P )
9.4.6.5 [[DefineOwnProperty]] ( P, Desc )
9.4.6.6 [[HasProperty]] ( P )
9.4.6.7 [[Get]] ( P, Receiver )
9.4.6.8 [[Set]] ( P, V, Receiver )
9.4.6.9 [[Delete]] ( P )
9.4.6.10 [[OwnPropertyKeys]] ( )
9.4.6.11 ModuleNamespaceCreate ( module, exports )
9.4.7 不变原型异类对象
9.4.7.1 [[SetPrototypeOf]] ( V )
9.4.7.2 SetImmutablePrototype ( O, V )
9.5 代理对象内部方法和内部插槽
9.5.1 [[GetPrototypeOf]] ( )
9.5.2 [[SetPrototypeOf]] ( V )
9.5.3 [[IsExtensible]] ( )
9.5.4 [[PreventExtensions]] ( )
9.5.5 [[GetOwnProperty]] ( P )
9.5.6 [[DefineOwnProperty]] ( P, Desc )
9.5.7 [[HasProperty]] ( P )
9.5.8 [[Get]] ( P, Receiver )
9.5.9 [[Set]] ( P, V, Receiver )
9.5.10 [[Delete]] ( P )
9.5.11 [[OwnPropertyKeys]] ( )
9.5.12 [[Call]] ( thisArgument, argumentsList )
9.5.13 [[Construct]] ( argumentsList, newTarget )
9.5.14 ProxyCreate ( target, handler )
10 ECMAScript语言:源代码
10.1 源文本
10.1.1 SS: UTF16Encoding ( cp )
10.1.2 SS: UTF16Decode ( lead, trail )
10.2 源代码类型
10.2.1 严格模式代码
10.2.2 非ECMAScript函数
11 ECMAScript语言:词法语法
11.1 Unicode格式控制字符
11.2 空格
11.3 行终止符
11.4 注释
11.5 词条
11.6 名称和关键字
11.6.1 标识符名称
11.6.1.1 SS: Early Errors
11.6.1.2 SS: StringValue
11.6.2 保留关键字
11.6.2.1 关键字
11.2.2.2 未来保留关键字
11.7 标点符号
11.8 字面量
11.8.1 空字面量
11.8.2 布尔字面量
11.8.3 数字字面量
11.8.3.1 SS: MV
11.8.4 字符串字面量
11.8.4.1 SS: StringValue
11.8.4.2 SS: SV
11.8.5 正则表达式字面量
11.8.5.1 SS: Early Errors
11.8.5.2 SS: BodyText
11.8.5.3 SS: FlagText
11.8.6 模板字面量文字组件
11.8.6.1 SS: TV and TRV
11.9 自动分号插入
11.9.1 自动分号插入规则
11.9.2 自动分号插入规则示例
12 ECMAScript语言:表达式
12.1 标识符
12.1.1 SS: Early Errors
12.1.2 SS: BoundNames
12.1.3 SS: AssignmentTargetType
12.1.4 SS: StringValue
12.1.5 RS: BindingInitialization
12.1.5.1 RS: InitializeBoundName ( name, value, environment )
12.1.6 RS: Evaluation
12.2 主要表达式
12.2.1 语义
12.2.1.1 SS: CoveredParenthesizedExpression
12.2.1.2 SS: HasName
12.2.1.3 SS: IsFunctionDefinition
12.2.1.4 SS: IsIdentifierRef
12.2.1.5 SS: AssignmentTargetType
12.2.2 this 关键字
12.2.2.1 RS: Evaluation
12.2.3 标识符引用
12.2.4 字面量
12.2.4.1 RS: Evaluation
12.2.5 数组初始化
12.2.5.1 SS: ElisionWidth
12.2.5.2 RS: ArrayAccumulation
12.2.5.3 RS: Evaluation
12.2.6 对象初始化
12.2.6.1 SS: Early Errors
12.2.6.2 SS: ComputedPropertyContains
12.2.6.3 SS: Contains
12.2.6.4 SS: IsComputedPropertyKey
12.2.6.5 SS: PropName
12.2.6.6 SS: PropertyNameList
12.2.6.7 RS: Evaluation
12.2.6.8 RS: PropertyDefinitionEvaluation
12.2.7 函数定义表达式
12.2.8 正则表达式字面量
12.2.8.1 SS: Early Errors
12.2.8.2 RS: Evaluation
12.2.9 模板字面量
12.2.9.1 SS: Early Errors
12.2.9.2 SS: TemplateStrings
12.2.9.3 RS: ArgumentListEvaluation
12.2.9.4 RS: GetTemplateObject ( templateLiteral )
12.2.9.5 RS: SubstitutionEvaluation
12.2.9.6 RS: Evaluation
12.2.10 群组运算符
12.2.10.1 SS: Early Errors
12.2.10.2 SS: IsFunctionDefinition
12.2.10.3 SS: AssignmentTargetType
12.2.10.4 RS: NamedEvaluation
12.2.10.5 RS: Evaluation
12.3 左值表达式
12.3.1 静态语义
12.3.1.1 SS: CoveredCallExpression
12.3.1.2 SS: Contains
12.3.1.3 SS: IsFunctionDefinition
12.3.1.4 SS: IsDestructuring
12.3.1.5 SS: IsIdentifierRef
12.3.1.6 SS: AssignmentTargetType
12.3.2 属性访问器
12.3.2.1 RS: Evaluation
12.3.3 new 运算符
12.3.3.1 RS: Evaluation
12.3.3.1.1 RS: EvaluateNew ( constructExpr, arguments )
12.3.4 函数回调
12.3.4.1 RS: Evaluation
12.3.4.2 RS: EvaluateCall ( func, ref, arguments, tailPosition )
12.3.5super 关键字
12.3.5.1 RS: Evaluation
12.3.5.2 RS: GetSuperConstructor ( )
12.3.5.3 RS: MakeSuperPropertyReference ( actualThis, propertyKey, strict )
12.3.6 参数列表
12.3.6.1 RS: ArgumentListEvaluation
12.3.7 标记模板
12.3.7.1 RS: Evaluation
12.3.8 元属性
12.3.8.1 RS: Evaluation
12.4 更新表达式
12.4.1 SS: Early Errors
12.4.2 SS: IsFunctionDefinition
12.4.3 SS: AssignmentTargetType
12.4.4 后缀自增运算符
12.4.4.1 RS: Evaluation
12.4.5 后缀自减运算符
12.4.5.1 RS: Evaluation
12.4.6 前缀自增运算符
12.4.6.1 RS: Evaluation
12.4.7 前缀自减运算符
12.4.7.1 RS: Evaluation
12.5 一元运算符
12.5.1 SS: IsFunctionDefinition
12.5.2 SS: AssignmentTargetType
12.5.3delete 运算符
12.5.3.1 SS: Early Errors
12.5.3.2 RS: Evaluation
12.5.4void 运算符
12.5.4.1 RS: Evaluation
12.5.5typeof 运算符
12.5.5.1 RS: Evaluation
12.5.6 一元+ 运算符
12.5.6.1 RS: Evaluation
12.5.7 一元- 运算符
12.5.7.1 RS: Evaluation
12.5.8 按位非运算符 ( ~ )
12.5.8.1 RS: Evaluation
12.5.9 逻辑非运算符( ! )
12.5.9.1 RS: Evaluation
12.6 指数运算符
12.6.1 SS: IsFunctionDefinition
12.6.2 SS: AssignmentTargetType
12.6.3 RS: Evaluation
12.6.4 使用** 运算符
12.7 乘数运算符
12.7.1 SS: IsFunctionDefinition
12.7.2 SS: AssignmentTargetType
12.7.3 RS: Evaluation
12.7.3.1 使用* 运算符
12.7.3.2 使用/ 运算符
12.7.3.3 使用% 运算符
12.8 加法运算符
12.8.1 SS: IsFunctionDefinition
12.8.2 SS: AssignmentTargetType
12.8.3 加法运算符( + )
12.8.3.1 RS: Evaluation
12.8.4 减法运算符( - )
12.8.4.1 RS: Evaluation
12.8.5 加法作用于数字
12.9 按位移运算符
12.9.1 SS: IsFunctionDefinition
12.9.2 SS: AssignmentTargetType
12.9.3 左移位运算符( << )
12.9.3.1 RS: Evaluation
12.9.4 带号右移位运算符( >> )
12.9.4.1 RS: Evaluation
12.9.5 不带号右移位运算符( >>> )
12.9.5.1 RS: Evaluation
12.10 关系运算符
12.10.1 SS: IsFunctionDefinition
12.10.2 SS: AssignmentTargetType
12.10.3 RS: Evaluation
12.10.4 RS: InstanceofOperator ( V, target )
12.11 相等运算符
12.11.1 SS: IsFunctionDefinition
12.11.2 SS: AssignmentTargetType
12.11.3 RS: Evaluation
12.12 二进制按位运算符
12.12.1 SS: IsFunctionDefinition
12.12.2 SS: AssignmentTargetType
12.12.3 RS: Evaluation
12.13 二元逻辑运算符
12.13.1 SS: IsFunctionDefinition
12.13.2 SS: AssignmentTargetType
12.13.3 RS: Evaluation
12.14 条件运算符
12.14.1 SS: IsFunctionDefinition
12.14.2 SS: AssignmentTargetType
12.14.3 RS: Evaluation
12.15 赋值运算符
12.15.1 SS: Early Errors
12.15.2 SS: IsFunctionDefinition
12.15.3 SS: AssignmentTargetType
12.15.4 RS: Evaluation
12.15.5 解构赋值
12.15.5.1 SS: Early Errors
12.15.5.2 RS: DestructuringAssignmentEvaluation
12.15.5.3 RS: PropertyDestructuringAssignmentEvaluation
12.15.5.4 RS: RestDestructuringAssignmentEvaluation
12.15.5.5 RS: IteratorDestructuringAssignmentEvaluation
12.15.5.6 RS: KeyedDestructuringAssignmentEvaluation
12.16 逗号运算符
12.16.1 SS: IsFunctionDefinition
12.16.2 SS: AssignmentTargetType
12.16.3 RS: Evaluation
13 ECMAScript语言:语句和声明
13.1 语句和声明
13.1.1 SS: ContainsDuplicateLabels
13.1.2 SS: ContainsUndefinedBreakTarget
13.1.3 SS: ContainsUndefinedContinueTarget
13.1.4 SS: DeclarationPart
13.1.5 SS: VarDeclaredNames
13.1.6 SS: VarScopedDeclarations
13.1.7 RS: LabelledEvaluation
13.1.8 RS: Evaluation
13.2 块
13.2.1 SS: Early Errors
13.2.2 SS: ContainsDuplicateLabels
13.2.3 SS: ContainsUndefinedBreakTarget
13.2.4 SS: ContainsUndefinedContinueTarget
13.2.5 SS: LexicallyDeclaredNames
13.2.6 SS: LexicallyScopedDeclarations
13.2.7 SS: TopLevelLexicallyDeclaredNames
13.2.8 SS: TopLevelLexicallyScopedDeclarations
13.2.9 SS: TopLevelVarDeclaredNames
13.2.10 SS: TopLevelVarScopedDeclarations
13.2.11 SS: VarDeclaredNames
13.2.12 SS: VarScopedDeclarations
13.2.13 RS: Evaluation
13.2.14 RS: BlockDeclarationInstantiation ( code, env )
13.3 声明和变量语句
13.3.1 Let 和 Const 声明
13.3.1.1 SS: Early Errors
13.3.1.2 SS: BoundNames
13.3.1.3 SS: IsConstantDeclaration
13.3.1.4 RS: Evaluation
13.3.2 变量语句
13.3.2.1 SS: BoundNames
13.3.2.2 SS: VarDeclaredNames
13.3.2.3 SS: VarScopedDeclarations
13.3.2.4 RS: Evaluation
13.3.3 绑定模式解构
13.3.3.1 SS: BoundNames
13.3.3.2 SS: ContainsExpression
13.3.3.3 SS: HasInitializer
13.3.3.4 SS: IsSimpleParameterList
13.3.3.5 RS: BindingInitialization
13.3.3.6 RS: PropertyBindingInitialization
13.3.3.7 RS: RestBindingInitialization
13.3.3.8 RS: IteratorBindingInitialization
13.3.3.9 RS: KeyedBindingInitialization
13.4 空语句
13.4.1 RS: Evaluation
13.5 表达式语句
13.5.1 RS: Evaluation
13.6 if 语句
13.6.1 SS: Early Errors
13.6.2 SS: ContainsDuplicateLabels
13.6.3 SS: ContainsUndefinedBreakTarget
13.6.4 SS: ContainsUndefinedContinueTarget
13.6.5 SS: VarDeclaredNames
13.6.6 SS: VarScopedDeclarations
13.6.7 RS: Evaluation
13.7 迭代语句
13.7.1 语义
13.7.1.1 SS: Early Errors
13.7.1.2 RS: LoopContinues ( completion, labelSet )
13.7.2 do-while 语句
13.7.2.1 SS: ContainsDuplicateLabels
13.7.2.2 SS: ContainsUndefinedBreakTarget
13.7.2.3 SS: ContainsUndefinedContinueTarget
13.7.2.4 SS: VarDeclaredNames
13.7.2.5 SS: VarScopedDeclarations
13.7.2.6 RS: LabelledEvaluation
13.7.3 while 语句
13.7.3.1 SS: ContainsDuplicateLabels
13.7.3.2 SS: ContainsUndefinedBreakTarget
13.7.3.3 SS: ContainsUndefinedContinueTarget
13.7.3.4 SS: VarDeclaredNames
13.7.3.5 SS: VarScopedDeclarations
13.7.3.6 RS: LabelledEvaluation
13.7.4 for 语句
13.7.4.1 SS: Early Errors
13.7.4.2 SS: ContainsDuplicateLabels
13.7.4.3 SS: ContainsUndefinedBreakTarget
13.7.4.4 SS: ContainsUndefinedContinueTarget
13.7.4.5 SS: VarDeclaredNames
13.7.4.6 SS: VarScopedDeclarations
13.7.4.7 RS: LabelledEvaluation
13.7.4.8 RS: ForBodyEvaluation ( test, increment, stmt, perIterationBindings, labelSet )
13.7.4.9 RS: CreatePerIterationEnvironment ( perIterationBindings )
13.7.5 for-in, for-of, 和for-await-of 语句
13.7.5.1 SS: Early Errors
13.7.5.2 SS: BoundNames
13.7.5.3 SS: ContainsDuplicateLabels
13.7.5.4 SS: ContainsUndefinedBreakTarget
13.7.5.5 SS: ContainsUndefinedContinueTarget
13.7.5.6 SS: IsDestructuring
13.7.5.7 SS: VarDeclaredNames
13.7.5.8 SS: VarScopedDeclarations
13.7.5.9 RS: BindingInitialization
13.7.5.10 RS: BindingInstantiation
13.7.5.11 RS: LabelledEvaluation
13.7.5.12 RS: ForIn/OfHeadEvaluation ( TDZnames, expr, iterationKind )
13.7.5.13 RS: ForIn/OfBodyEvaluation ( lhs, stmt, iteratorRecord, iterationKind, lhsKind, labelSet [ , iteratorKind ] )
13.7.5.14 RS: Evaluation
13.7.5.15 EnumerateObjectProperties ( O )
13.8 continue 语句
13.8.1 SS: Early Errors
13.8.2 SS: ContainsUndefinedContinueTarget
13.8.3 RS: Evaluation
13.9 break 语句
13.9.1 SS: Early Errors
13.9.2 SS: ContainsUndefinedBreakTarget
13.9.3 RS: Evaluation
13.10 return 语句
13.10.1 RS: Evaluation
13.11 with 语句
13.11.1 SS: Early Errors
13.11.2 SS: ContainsDuplicateLabels
13.11.3 SS: ContainsUndefinedBreakTarget
13.11.4 SS: ContainsUndefinedContinueTarget
13.11.5 SS: VarDeclaredNames
13.11.6 SS: VarScopedDeclarations
13.11.7 RS: Evaluation
13.12 switch 语句
13.12.1 SS: Early Errors
13.12.2 SS: ContainsDuplicateLabels
13.12.3 SS: ContainsUndefinedBreakTarget
13.12.4 SS: ContainsUndefinedContinueTarget
13.12.5 SS: LexicallyDeclaredNames
13.12.6 SS: LexicallyScopedDeclarations
13.12.7 SS: VarDeclaredNames
13.12.8 SS: VarScopedDeclarations
13.12.9 RS: CaseBlockEvaluation
13.12.10 RS: CaseClauseIsSelected ( C, input )
13.12.11 RS: Evaluation
13.13 带标签的语句
13.13.1 SS: Early Errors
13.13.2 SS: ContainsDuplicateLabels
13.13.3 SS: ContainsUndefinedBreakTarget
13.13.4 SS: ContainsUndefinedContinueTarget
13.13.5 SS: IsLabelledFunction ( stmt )
13.13.6 SS: LexicallyDeclaredNames
13.13.7 SS: LexicallyScopedDeclarations
13.13.8 SS: TopLevelLexicallyDeclaredNames
13.13.9 SS: TopLevelLexicallyScopedDeclarations
13.13.10 SS: TopLevelVarDeclaredNames
13.13.11 SS: TopLevelVarScopedDeclarations
13.13.12 SS: VarDeclaredNames
13.13.13 SS: VarScopedDeclarations
13.13.14 RS: LabelledEvaluation
13.13.15 RS: Evaluation
13.14 throw 语句
13.14.1 RS: Evaluation
13.15 try 语句
13.15.1 SS: Early Errors
13.15.2 SS: ContainsDuplicateLabels
13.15.3 SS: ContainsUndefinedBreakTarget
13.15.4 SS: ContainsUndefinedContinueTarget
13.15.5 SS: VarDeclaredNames
13.15.6 SS: VarScopedDeclarations
13.15.7 RS: CatchClauseEvaluation
13.15.8 RS: Evaluation
13.16 debugger 语句
13.16.1 RS: Evaluation
14 ECMAScript语言:函数和类
14.1 函数定义
14.1.1 指令序言和严格使用指令
14.1.2 SS: Early Errors
14.1.3 SS: BoundNames
14.1.4 SS: Contains
14.1.5 SS: ContainsExpression
14.1.6 SS: ContainsUseStrict
14.1.7 SS: ExpectedArgumentCount
14.1.8 SS: HasInitializer
14.1.9 SS: HasName
14.1.10 SS: IsAnonymousFunctionDefinition ( expr )
14.1.11 SS: IsConstantDeclaration
14.1.12 SS: IsFunctionDefinition
14.1.13 SS: IsSimpleParameterList
14.1.14 SS: LexicallyDeclaredNames
14.1.15 SS: LexicallyScopedDeclarations
14.1.16 SS: VarDeclaredNames
14.1.17 SS: VarScopedDeclarations
14.1.18 RS: EvaluateBody
14.1.19 RS: IteratorBindingInitialization
14.1.20 RS: InstantiateFunctionObject
14.1.21 RS: NamedEvaluation
14.1.22 RS: Evaluation
14.2 箭头函数定义
14.2.1 SS: Early Errors
14.2.2 SS: BoundNames
14.2.3 SS: Contains
14.2.4 SS: ContainsExpression
14.2.5 SS: ContainsUseStrict
14.2.6 SS: ExpectedArgumentCount
14.2.7 SS: HasName
14.2.8 SS: IsSimpleParameterList
14.2.9 SS: CoveredFormalsList
14.2.10 SS: LexicallyDeclaredNames
14.2.11 SS: LexicallyScopedDeclarations
14.2.12 SS: VarDeclaredNames
14.2.13 SS: VarScopedDeclarations
14.2.14 RS: IteratorBindingInitialization
14.2.15 RS: EvaluateBody
14.2.16 RS: NamedEvaluation
14.2.17 RS: Evaluation
14.3 方法定义
14.3.1 SS: Early Errors
14.3.2 SS: ComputedPropertyContains
14.3.3 SS: ExpectedArgumentCount
14.3.4 SS: HasDirectSuper
14.3.5 SS: PropName
14.3.6 SS: SpecialMethod
14.3.7 RS: DefineMethod
14.3.8 RS: PropertyDefinitionEvaluation
14.4 Generator 函数定义
14.4.1 SS: Early Errors
14.4.2 SS: BoundNames
14.4.3 SS: ComputedPropertyContains
14.4.4 SS: Contains
14.4.5 SS: HasDirectSuper
14.4.6 SS: HasName
14.4.7 SS: IsConstantDeclaration
14.4.8 SS: IsFunctionDefinition
14.4.9 SS: PropName
14.4.10 RS: EvaluateBody
14.4.11 RS: InstantiateFunctionObject
14.4.12 RS: PropertyDefinitionEvaluation
14.4.13 RS: NamedEvaluation
14.4.14 RS: Evaluation
14.5 异步 Generator 函数定义
14.5.1 SS: Early Errors
14.5.2 SS: BoundNames
14.5.3 SS: ComputedPropertyContains
14.5.4 SS: Contains
14.5.5 SS: HasDirectSuper
14.5.6 SS: HasName
14.5.7 SS: IsConstantDeclaration
14.5.8 SS: IsFunctionDefinition
14.5.9 SS: PropName
14.5.10 RS: EvaluateBody
14.5.11 RS: InstantiateFunctionObject
14.5.12 RS: PropertyDefinitionEvaluation
14.5.13 RS: NamedEvaluation
14.5.14 RS: Evaluation
14.6 Class 定义
14.6.1 SS: Early Errors
14.6.2 SS: BoundNames
14.6.3 SS: ConstructorMethod
14.6.4 SS: Contains
14.6.5 SS: ComputedPropertyContains
14.6.6 SS: HasName
14.6.7 SS: IsConstantDeclaration
14.6.8 SS: IsFunctionDefinition
14.6.9 SS: IsStatic
14.6.10 SS: NonConstructorMethodDefinitions
14.6.11 SS: PrototypePropertyNameList
14.6.12 SS: PropName
14.6.13 RS: ClassDefinitionEvaluation
14.6.14 RS: BindingClassDeclarationEvaluation
14.6.15 RS: NamedEvaluation
14.6.16 RS: Evaluation
14.7 Async 函数定义
14.7.1 SS: Early Errors
14.7.2 SS: BoundNames
14.7.3 SS: ComputedPropertyContains
14.7.4 SS: Contains
14.7.5 SS: HasDirectSuper
14.7.6 SS: HasName
14.7.7 SS: IsConstantDeclaration
14.7.8 SS: IsFunctionDefinition
14.7.9 SS: PropName
14.7.10 RS: InstantiateFunctionObject
14.7.11 RS: EvaluateBody
14.7.12 RS: PropertyDefinitionEvaluation
14.7.13 RS: NamedEvaluation
14.7.14 RS: Evaluation
14.8 Async 箭头函数
14.8.1 SS: Early Errors
14.8.2 SS: CoveredAsyncArrowHead
14.8.3 SS: BoundNames
14.8.4 SS: Contains
14.8.5 SS: ContainsExpression
14.8.6 SS: ExpectedArgumentCount
14.8.7 SS: HasName
14.8.8 SS: IsSimpleParameterList
14.8.9 SS: LexicallyDeclaredNames
14.8.10 SS: LexicallyScopedDeclarations
14.8.11 SS: VarDeclaredNames
14.8.12 SS: VarScopedDeclarations
14.8.13 RS: IteratorBindingInitialization
14.8.14 RS: EvaluateBody
14.8.15 RS: NamedEvaluation
14.8.16 RS: Evaluation
14.9 尾调用
14.9.1 SS: IsInTailPosition ( call )
14.9.2 SS: HasCallInTailPosition
14.9.2.1 Statement Rules
14.9.2.2 Expression Rules
14.9.3 RS: PrepareForTailCall ( )
15 ECMAScript语言:脚本和模块
15.1 脚本
15.1.1 SS: Early Errors
15.1.2 SS: IsStrict
15.1.3 SS: LexicallyDeclaredNames
15.1.4 SS: LexicallyScopedDeclarations
15.1.5 SS: VarDeclaredNames
15.1.6 SS: VarScopedDeclarations
15.1.7 RS: Evaluation
15.1.8 脚本记录
15.1.9 ParseScript ( sourceText, realm, hostDefined )
15.1.10 ScriptEvaluation ( scriptRecord )
15.1.11 RS: GlobalDeclarationInstantiation ( script, env )
15.1.12 RS: ScriptEvaluationJob ( sourceText, hostDefined )
15.2 模块
15.2.1 模块语义
15.2.1.1 SS: Early Errors
15.2.1.2 SS: ContainsDuplicateLabels
15.2.1.3 SS: ContainsUndefinedBreakTarget
15.2.1.4 SS: ContainsUndefinedContinueTarget
15.2.1.5 SS: ExportedBindings
15.2.1.6 SS: ExportedNames
15.2.1.7 SS: ExportEntries
15.2.1.8 SS: ImportEntries
15.2.1.9 SS: ImportedLocalNames ( importEntries )
15.2.1.10 SS: ModuleRequests
15.2.1.11 SS: LexicallyDeclaredNames
15.2.1.12 SS: LexicallyScopedDeclarations
15.2.1.13 SS: VarDeclaredNames
15.2.1.14 SS: VarScopedDeclarations
15.2.1.15 抽象模块记录
15.2.1.16 循环模块记录
15.2.1.16.1 Instantiate ( ) 具体方法
15.2.1.16.1.1 InnerModuleInstantiation ( module, stack, index )
15.2.1.16.2 Evaluate ( ) 具体方法
15.2.1.16.2.1 InnerModuleEvaluation ( module, stack, index )
15.2.1.16.3 循环模块记录示例图
15.2.1.17 源文本模块记录
15.2.1.17.1 ParseModule ( sourceText, realm, hostDefined )
15.2.1.17.2 GetExportedNames ( exportStarSet ) Concrete Method
15.2.1.17.3 ResolveExport ( exportName, resolveSet ) Concrete Method
15.2.1.17.4 InitializeEnvironment ( ) Concrete Method
15.2.1.17.5 ExecuteModule ( ) Concrete Method
15.2.1.18 RS: HostResolveImportedModule ( referencingModule, specifier )
15.2.1.19 RS: GetModuleNamespace ( module )
15.2.1.20 RS: TopLevelModuleEvaluationJob ( sourceText, hostDefined )
15.2.1.21 RS: Evaluation
15.2.2 导入
15.2.2.1 SS: Early Errors
15.2.2.2 SS: BoundNames
15.2.2.3 SS: ImportEntries
15.2.2.4 SS: ImportEntriesForModule
15.2.2.5 SS: ModuleRequests
15.2.3 导出
15.2.3.1 SS: Early Errors
15.2.3.2 SS: BoundNames
15.2.3.3 SS: ExportedBindings
15.2.3.4 SS: ExportedNames
15.2.3.5 SS: ExportEntries
15.2.3.6 SS: ExportEntriesForModule
15.2.3.7 SS: IsConstantDeclaration
15.2.3.8 SS: LexicallyScopedDeclarations
15.2.3.9 SS: ModuleRequests
15.2.3.10 SS: ReferencedBindings
15.2.3.11 RS: Evaluation
16 错误处理和语言扩展
16.1 HostReportErrors ( errorList )
16.2 禁止扩展
17 ECMAScript标准内置对象
18 全局对象
18.1 全局对象的值属性
18.1.1 Infinity
18.1.2 NaN
18.1.3 undefined
18.2 全局对象的函数属性
18.2.1 eval ( x )
18.2.1.1 RS: PerformEval ( x, evalRealm, strictCaller, direct )
18.2.1.1.1 eval外部函数的附加早期错误规则
18.2.1.1.2 eval外部方法的附加早期错误规则
18.2.1.1.3 eval外部构造方法的附加早期错误规则
18.2.1.2 HostEnsureCanCompileStrings ( callerRealm, calleeRealm )
18.2.1.3 RS: EvalDeclarationInstantiation ( body, varEnv, lexEnv, strict )
18.2.2 isFinite ( number )
18.2.3 isNaN ( number )
18.2.4 parseFloat ( string )
18.2.5 parseInt ( string, radix )
18.2.6 URI Handling Functions
18.2.6.1 URI 语法和语义
18.2.6.1.1 RS: Encode ( string, unescapedSet )
18.2.6.1.2 RS: Decode ( string, reservedSet )
18.2.6.2 decodeURI ( encodedURI )
18.2.6.3 decodeURIComponent ( encodedURIComponent )
18.2.6.4 encodeURI ( uri )
18.2.6.5 encodeURIComponent ( uriComponent )
18.3 全局对象的构造函数属性
18.3.1 Array ( . . . )
18.3.2 ArrayBuffer ( . . . )
18.3.3 Boolean ( . . . )
18.3.4 DataView ( . . . )
18.3.5 Date ( . . . )
18.3.6 Error ( . . . )
18.3.7 EvalError ( . . . )
18.3.8 Float32Array ( . . . )
18.3.9 Float64Array ( . . . )
18.3.10 Function ( . . . )
18.3.11 Int8Array ( . . . )
18.3.12 Int16Array ( . . . )
18.3.13 Int32Array ( . . . )
18.3.14 Map ( . . . )
18.3.15 Number ( . . . )
18.3.16 Object ( . . . )
18.3.17 Promise ( . . . )
18.3.18 Proxy ( . . . )
18.3.19 RangeError ( . . . )
18.3.20 ReferenceError ( . . . )
18.3.21 RegExp ( . . . )
18.3.22 Set ( . . . )
18.3.23 SharedArrayBuffer ( . . . )
18.3.24 String ( . . . )
18.3.25 Symbol ( . . . )
18.3.26 SyntaxError ( . . . )
18.3.27 TypeError ( . . . )
18.3.28 Uint8Array ( . . . )
18.3.29 Uint8ClampedArray ( . . . )
18.3.30 Uint16Array ( . . . )
18.3.31 Uint32Array ( . . . )
18.3.32 URIError ( . . . )
18.3.33 WeakMap ( . . . )
18.3.34 WeakSet ( . . . )
18.4 全局对象的其他属性
18.4.1 Atomics
18.4.2 JSON
18.4.3 Math
18.4.4 Reflect
19 基本对象
19.1 Object 对象
19.1.1 Object 构造器
19.1.1.1 Object ( [ value ] )
19.1.2 Object 构造器属性
19.1.2.1 Object.assign ( target, ...sources )
19.1.2.2 Object.create ( O, Properties )
19.1.2.3 Object.defineProperties ( O, Properties )
19.1.2.3.1 RS: ObjectDefineProperties ( O, Properties )
19.1.2.4 Object.defineProperty ( O, P, Attributes )
19.1.2.5 Object.entries ( O )
19.1.2.6 Object.freeze ( O )
19.1.2.7 Object.fromEntries ( iterable )
19.1.2.7.1 CreateDataPropertyOnObject Functions
19.1.2.8 Object.getOwnPropertyDescriptor ( O, P )
19.1.2.9 Object.getOwnPropertyDescriptors ( O )
19.1.2.10 Object.getOwnPropertyNames ( O )
19.1.2.11 Object.getOwnPropertySymbols ( O )
19.1.2.11.1 RS: GetOwnPropertyKeys ( O, type )
19.1.2.12 Object.getPrototypeOf ( O )
19.1.2.13 Object.is ( value1, value2 )
19.1.2.14 Object.isExtensible ( O )
19.1.2.15 Object.isFrozen ( O )
19.1.2.16 Object.isSealed ( O )
19.1.2.17 Object.keys ( O )
19.1.2.18 Object.preventExtensions ( O )
19.1.2.19 Object.prototype
19.1.2.20 Object.seal ( O )
19.1.2.21 Object.setPrototypeOf ( O, proto )
19.1.2.22 Object.values ( O )
19.1.3 Object 原型对象属性
19.1.3.1 Object.prototype.constructor
19.1.3.2 Object.prototype.hasOwnProperty ( V )
19.1.3.3 Object.prototype.isPrototypeOf ( V )
19.1.3.4 Object.prototype.propertyIsEnumerable ( V )
19.1.3.5 Object.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
19.1.3.6 Object.prototype.toString ( )
19.1.3.7 Object.prototype.valueOf ( )
19.1.4 Object 实例属性
19.2 Function 对象
19.2.1 Function 构造器
19.2.1.1 Function ( p1, p2, … , pn, body )
19.2.1.1.1 RS: CreateDynamicFunction ( constructor, newTarget, kind, args )
19.2.2 Function 构造器属性
19.2.2.1 Function.length
19.2.2.2 Function.prototype
19.2.3 Function 原型对象属性
19.2.3.1 Function.prototype.apply ( thisArg, argArray )
19.2.3.2 Function.prototype.bind ( thisArg, ...args )
19.2.3.3 Function.prototype.call ( thisArg, ...args )
19.2.3.4 Function.prototype.constructor
19.2.3.5 Function.prototype.toString ( )
19.2.3.6 Function.prototype [ @@hasInstance ] ( V )
19.2.4 Function 实例
19.2.4.1 length
19.2.4.2 name
19.2.4.3 prototype
19.2.5 HostHasSourceTextAvailable ( func )
19.3 Boolean 对象
19.3.1 Boolean 构造器
19.3.1.1 Boolean ( value )
19.3.2 Boolean 构造器属性
19.3.2.1 Boolean.prototype
19.3.3 Boolean 原型对象属性
19.3.3.1 Boolean.prototype.constructor
19.3.3.2 Boolean.prototype.toString ( )
19.3.3.3 Boolean.prototype.valueOf ( )
19.3.4 Boolean 实例属性
19.4 Symbol 对象
19.4.1 Symbol 构造器
19.4.1.1 Symbol ( [ description ] )
19.4.2 Symbol 构造器属性
19.4.2.1 Symbol.asyncIterator
19.4.2.2 Symbol.for ( key )
19.4.2.3 Symbol.hasInstance
19.4.2.4 Symbol.isConcatSpreadable
19.4.2.5 Symbol.iterator
19.4.2.6 Symbol.keyFor ( sym )
19.4.2.7 Symbol.match
19.4.2.8 Symbol.prototype
19.4.2.9 Symbol.replace
19.4.2.10 Symbol.search
19.4.2.11 Symbol.species
19.4.2.12 Symbol.split
19.4.2.13 Symbol.toPrimitive
19.4.2.14 Symbol.toStringTag
19.4.2.15 Symbol.unscopables
19.4.3 Symbol 原型对象属性
19.4.3.1 Symbol.prototype.constructor
19.4.3.2 get Symbol.prototype.description
19.4.3.3 Symbol.prototype.toString ( )
19.4.3.3.1 RS: SymbolDescriptiveString ( sym )
19.4.3.4 Symbol.prototype.valueOf ( )
19.4.3.5 Symbol.prototype [ @@toPrimitive ] ( hint )
19.4.3.6 Symbol.prototype [ @@toStringTag ]
19.4.4 Symbol 实例属性
19.5 Error 对象
19.5.1 The Error 构造器
19.5.1.1 Error ( message )
19.5.2 Properties of the Error 构造器属性
19.5.2.1 Error.prototype
19.5.3 Properties of the Error 原型对象属性
19.5.3.1 Error.prototype.constructor
19.5.3.2 Error.prototype.message
19.5.3.3 Error.prototype.name
19.5.3.4 Error.prototype.toString ( )
19.5.4 Properties of Error 实例属性
19.5.5 本标准值中使用的原生错误类型
19.5.5.1 EvalError
19.5.5.2 RangeError
19.5.5.3 ReferenceError
19.5.5.4 SyntaxError
19.5.5.5 TypeError
19.5.5.6 URIError
19.5.6 NativeError 对象结构
19.5.6.1 NativeError 构造器
19.5.6.1.1 NativeError ( message )
19.5.6.2 NativeError 构造器属性
19.5.6.2.1 NativeError.prototype
19.5.6.3 NativeError 原型对象属性
19.5.6.3.1 NativeError.prototype.constructor
19.5.6.3.2 NativeError.prototype.message
19.5.6.3.3 NativeError.prototype.name
19.5.6.4 NativeError 实例属性
20 数字和日期
20.1 Number 对象
20.1.1 Number 构造器
20.1.1.1 Number ( value )
20.1.2 Number 构造器属性
20.1.2.1 Number.EPSILON
20.1.2.2 Number.isFinite ( number )
20.1.2.3 Number.isInteger ( number )
20.1.2.4 Number.isNaN ( number )
20.1.2.5 Number.isSafeInteger ( number )
20.1.2.6 Number.MAX_SAFE_INTEGER
20.1.2.7 Number.MAX_VALUE
20.1.2.8 Number.MIN_SAFE_INTEGER
20.1.2.9 Number.MIN_VALUE
20.1.2.10 Number.NaN
20.1.2.11 Number.NEGATIVE_INFINITY
20.1.2.12 Number.parseFloat ( string )
20.1.2.13 Number.parseInt ( string, radix )
20.1.2.14 Number.POSITIVE_INFINITY
20.1.2.15 Number.prototype
20.1.3 Number 原型对象属性
20.1.3.1 Number.prototype.constructor
20.1.3.2 Number.prototype.toExponential ( fractionDigits )
20.1.3.3 Number.prototype.toFixed ( fractionDigits )
20.1.3.4 Number.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
20.1.3.5 Number.prototype.toPrecision ( precision )
20.1.3.6 Number.prototype.toString ( [ radix ] )
20.1.3.7 Number.prototype.valueOf ( )
20.1.4 Number 实例属性
20.2 Math 对象
20.2.1 Math 对象值属性
20.2.1.1 Math.E
20.2.1.2 Math.LN10
20.2.1.3 Math.LN2
20.2.1.4 Math.LOG10E
20.2.1.5 Math.LOG2E
20.2.1.6 Math.PI
20.2.1.7 Math.SQRT1_2
20.2.1.8 Math.SQRT2
20.2.1.9 Math [ @@toStringTag ]
20.2.2 Math 对象函数属性
20.2.2.1 Math.abs ( x )
20.2.2.2 Math.acos ( x )
20.2.2.3 Math.acosh ( x )
20.2.2.4 Math.asin ( x )
20.2.2.5 Math.asinh ( x )
20.2.2.6 Math.atan ( x )
20.2.2.7 Math.atanh ( x )
20.2.2.8 Math.atan2 ( y, x )
20.2.2.9 Math.cbrt ( x )
20.2.2.10 Math.ceil ( x )
20.2.2.11 Math.clz32 ( x )
20.2.2.12 Math.cos ( x )
20.2.2.13 Math.cosh ( x )
20.2.2.14 Math.exp ( x )
20.2.2.15 Math.expm1 ( x )
20.2.2.16 Math.floor ( x )
20.2.2.17 Math.fround ( x )
20.2.2.18 Math.hypot ( value1, value2, ...values )
20.2.2.19 Math.imul ( x, y )
20.2.2.20 Math.log ( x )
20.2.2.21 Math.log1p ( x )
20.2.2.22 Math.log10 ( x )
20.2.2.23 Math.log2 ( x )
20.2.2.24 Math.max ( value1, value2, ...values )
20.2.2.25 Math.min ( value1, value2, ...values )
20.2.2.26 Math.pow ( base, exponent )
20.2.2.27 Math.random ( )
20.2.2.28 Math.round ( x )
20.2.2.29 Math.sign ( x )
20.2.2.30 Math.sin ( x )
20.2.2.31 Math.sinh ( x )
20.2.2.32 Math.sqrt ( x )
20.2.2.33 Math.tan ( x )
20.2.2.34 Math.tanh ( x )
20.2.2.35 Math.trunc ( x )
20.3 Date 对象
20.3.1 Date 对象的概述和抽象操作定义
20.3.1.1 时间值和时间范围
20.3.1.2 天数和一天的时间
20.3.1.3 年数
20.3.1.4 月数
20.3.1.5 日期数
20.3.1.6 周数
20.3.1.7 LocalTZA ( t, isUTC )
20.3.1.8 LocalTime ( t )
20.3.1.9 UTC ( t )
20.3.1.10 小时,分钟,秒和毫秒
20.3.1.11 MakeTime ( hour, min, sec, ms )
20.3.1.12 MakeDay ( year, month, date )
20.3.1.13 MakeDate ( day, time )
20.3.1.14 TimeClip ( time )
20.3.1.15 日期时间字符串格式
20.3.1.15.1 年扩展
20.3.2 Date 构造器
20.3.2.1 Date ( year, month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] )
20.3.2.2 Date ( value )
20.3.2.3 Date ( )
20.3.3 Date 构造器属性
20.3.3.1 Date.now ( )
20.3.3.2 Date.parse ( string )
20.3.3.3 Date.prototype
20.3.3.4 Date.UTC ( year [ , month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] ] )
20.3.4 Date 原型对象属性
20.3.4.1 Date.prototype.constructor
20.3.4.2 Date.prototype.getDate ( )
20.3.4.3 Date.prototype.getDay ( )
20.3.4.4 Date.prototype.getFullYear ( )
20.3.4.5 Date.prototype.getHours ( )
20.3.4.6 Date.prototype.getMilliseconds ( )
20.3.4.7 Date.prototype.getMinutes ( )
20.3.4.8 Date.prototype.getMonth ( )
20.3.4.9 Date.prototype.getSeconds ( )
20.3.4.10 Date.prototype.getTime ( )
20.3.4.11 Date.prototype.getTimezoneOffset ( )
20.3.4.12 Date.prototype.getUTCDate ( )
20.3.4.13 Date.prototype.getUTCDay ( )
20.3.4.14 Date.prototype.getUTCFullYear ( )
20.3.4.15 Date.prototype.getUTCHours ( )
20.3.4.16 Date.prototype.getUTCMilliseconds ( )
20.3.4.17 Date.prototype.getUTCMinutes ( )
20.3.4.18 Date.prototype.getUTCMonth ( )
20.3.4.19 Date.prototype.getUTCSeconds ( )
20.3.4.20 Date.prototype.setDate ( date )
20.3.4.21 Date.prototype.setFullYear ( year [ , month [ , date ] ] )
20.3.4.22 Date.prototype.setHours ( hour [ , min [ , sec [ , ms ] ] ] )
20.3.4.23 Date.prototype.setMilliseconds ( ms )
20.3.4.24 Date.prototype.setMinutes ( min [ , sec [ , ms ] ] )
20.3.4.25 Date.prototype.setMonth ( month [ , date ] )
20.3.4.26 Date.prototype.setSeconds ( sec [ , ms ] )
20.3.4.27 Date.prototype.setTime ( time )
20.3.4.28 Date.prototype.setUTCDate ( date )
20.3.4.29 Date.prototype.setUTCFullYear ( year [ , month [ , date ] ] )
20.3.4.30 Date.prototype.setUTCHours ( hour [ , min [ , sec [ , ms ] ] ] )
20.3.4.31 Date.prototype.setUTCMilliseconds ( ms )
20.3.4.32 Date.prototype.setUTCMinutes ( min [ , sec [ , ms ] ] )
20.3.4.33 Date.prototype.setUTCMonth ( month [ , date ] )
20.3.4.34 Date.prototype.setUTCSeconds ( sec [ , ms ] )
20.3.4.35 Date.prototype.toDateString ( )
20.3.4.36 Date.prototype.toISOString ( )
20.3.4.37 Date.prototype.toJSON ( key )
20.3.4.38 Date.prototype.toLocaleDateString ( [ reserved1 [ , reserved2 ] ] )
20.3.4.39 Date.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
20.3.4.40 Date.prototype.toLocaleTimeString ( [ reserved1 [ , reserved2 ] ] )
20.3.4.41 Date.prototype.toString ( )
20.3.4.41.1 RS: TimeString ( tv )
20.3.4.41.2 RS: DateString ( tv )
20.3.4.41.3 RS: TimeZoneString ( tv )
20.3.4.41.4 RS: ToDateString ( tv )
20.3.4.42 Date.prototype.toTimeString ( )
20.3.4.43 Date.prototype.toUTCString ( )
20.3.4.44 Date.prototype.valueOf ( )
20.3.4.45 Date.prototype [ @@toPrimitive ] ( hint )
20.3.5 Date 实例属性
21 文字处理
21.1 String 对象
21.1.1 String 构造器
21.1.1.1 String ( value )
21.1.2 String 构造器属性
21.1.2.1 String.fromCharCode ( ...codeUnits )
21.1.2.2 String.fromCodePoint ( ...codePoints )
21.1.2.3 String.prototype
21.1.2.4 String.raw ( template, ...substitutions )
21.1.3 String 原型对象属性
21.1.3.1 String.prototype.charAt ( pos )
21.1.3.2 String.prototype.charCodeAt ( pos )
21.1.3.3 String.prototype.codePointAt ( pos )
21.1.3.4 String.prototype.concat ( ...args )
21.1.3.5 String.prototype.constructor
21.1.3.6 String.prototype.endsWith ( searchString [ , endPosition ] )
21.1.3.7 String.prototype.includes ( searchString [ , position ] )
21.1.3.8 String.prototype.indexOf ( searchString [ , position ] )
21.1.3.9 String.prototype.lastIndexOf ( searchString [ , position ] )
21.1.3.10 String.prototype.localeCompare ( that [ , reserved1 [ , reserved2 ] ] )
21.1.3.11 String.prototype.match ( regexp )
21.1.3.12 String.prototype.normalize ( [ form ] )
21.1.3.13 String.prototype.padEnd ( maxLength [ , fillString ] )
21.1.3.14 String.prototype.padStart ( maxLength [ , fillString ] )
21.1.3.15 String.prototype.repeat ( count )
21.1.3.16 String.prototype.replace ( searchValue, replaceValue )
21.1.3.16.1 RS: GetSubstitution ( matched, str, position, captures, namedCaptures, replacement )
21.1.3.17 String.prototype.search ( regexp )
21.1.3.18 String.prototype.slice ( start, end )
21.1.3.19 String.prototype.split ( separator, limit )
21.1.3.19.1 RS: SplitMatch ( S, q, R )
21.1.3.20 String.prototype.startsWith ( searchString [ , position ] )
21.1.3.21 String.prototype.substring ( start, end )
21.1.3.22 String.prototype.toLocaleLowerCase ( [ reserved1 [ , reserved2 ] ] )
21.1.3.23 String.prototype.toLocaleUpperCase ( [ reserved1 [ , reserved2 ] ] )
21.1.3.24 String.prototype.toLowerCase ( )
21.1.3.25 String.prototype.toString ( )
21.1.3.26 String.prototype.toUpperCase ( )
21.1.3.27 String.prototype.trim ( )
21.1.3.27.1 RS: TrimString ( string, where )
21.1.3.28 String.prototype.trimEnd ( )
21.1.3.29 String.prototype.trimStart ( )
21.1.3.30 String.prototype.valueOf ( )
21.1.3.31 String.prototype [ @@iterator ] ( )
21.1.4 String 实例属性
21.1.4.1 length
21.1.5 String 迭代器对象
21.1.5.1 CreateStringIterator ( string )
21.1.5.2 The %StringIteratorPrototype% Object
21.1.5.2.1 %StringIteratorPrototype%.next ( )
21.1.5.2.2 %StringIteratorPrototype% [ @@toStringTag ]
21.1.5.3 String 迭代器实例的属性
21.2 RegExp(正则表达式)对象
21.2.1 模式
21.2.1.1 SS: Early Errors
21.2.1.2 SS: CapturingGroupNumber
21.2.1.3 SS: IsCharacterClass
21.2.1.4 SS: CharacterValue
21.2.1.5 SS: SourceText
21.2.1.6 SS: StringValue
21.2.2 模式语义
21.2.2.1 表示法
21.2.2.2 模式
21.2.2.3 析取
21.2.2.4 选择项
21.2.2.5 匹配项
21.2.2.5.1 RS: RepeatMatcher ( m, min, max, greedy, x, c, parenIndex, parenCount )
21.2.2.6 断言
21.2.2.6.1 RS: WordCharacters ( )
21.2.2.6.2 RS: IsWordChar ( e )
21.2.2.7 量词
21.2.2.8 原子
21.2.2.8.1 RS: CharacterSetMatcher ( A, invert, direction )
21.2.2.8.2 RS: Canonicalize ( ch )
21.2.2.8.3 RS: UnicodeMatchProperty ( p )
21.2.2.8.4 RS: UnicodeMatchPropertyValue ( p, v )
21.2.2.9 转义原子
21.2.2.9.1 RS: BackreferenceMatcher ( n, direction )
21.2.2.10 转义字符
21.2.2.11 转义十进制
21.2.2.12 转义字符类
21.2.2.13 字符类
21.2.2.14 字符范围集
21.2.2.15 非空字符范围集
21.2.2.15.1 RS: CharacterRange ( A, B )
21.2.2.16 无连接符非空字符范围集
21.2.2.17 字符类原子
21.2.2.18 非连接符字符类原子
21.2.2.19 字符可用转义
21.2.3 RegExp 构造器
21.2.3.1 RegExp ( pattern, flags )
21.2.3.2 RegExp构造器的抽象操作
21.2.3.2.1 RS: RegExpAlloc ( newTarget )
21.2.3.2.2 RS: RegExpInitialize ( obj, pattern, flags )
21.2.3.2.3 RS: RegExpCreate ( P, F )
21.2.3.2.4 RS: EscapeRegExpPattern ( P, F )
21.2.4 RegExp 构造器属性
21.2.4.1 RegExp.prototype
21.2.4.2 get RegExp [ @@species ]
21.2.5 RegExp 原型对象属性
21.2.5.1 RegExp.prototype.constructor
21.2.5.2 RegExp.prototype.exec ( string )
21.2.5.2.1 RS: RegExpExec ( R, S )
21.2.5.2.2 RS: RegExpBuiltinExec ( R, S )
21.2.5.2.3 AdvanceStringIndex ( S, index, unicode )
21.2.5.3 获取 RegExp.prototype.dotAll
21.2.5.4 获取 RegExp.prototype.flags
21.2.5.5 获取 RegExp.prototype.global
21.2.5.6 获取 RegExp.prototype.ignoreCase
21.2.5.7 RegExp.prototype [ @@match ] ( string )
21.2.5.8 获取 RegExp.prototype.multiline
21.2.5.9 RegExp.prototype [ @@replace ] ( string, replaceValue )
21.2.5.10 RegExp.prototype [ @@search ] ( string )
21.2.5.11 获取 RegExp.prototype.source
21.2.5.12 RegExp.prototype [ @@split ] ( string, limit )
21.2.5.13 获取 RegExp.prototype.sticky
21.2.5.14 RegExp.prototype.test ( S )
21.2.5.15 RegExp.prototype.toString ( )
21.2.5.16 获取 RegExp.prototype.unicode
21.2.6 RegExp 实例属性
21.2.6.1 lastIndex
22 索引集合
22.1 数组对象
22.1.1 Array 构造器
22.1.1.1 Array ( )
22.1.1.2 Array ( len )
22.1.1.3 Array ( ...items )
22.1.2 Array 构造器属性
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
22.1.2.2 Array.isArray ( arg )
22.1.2.3 Array.of ( ...items )
22.1.2.4 Array.prototype
22.1.2.5 获取 Array [ @@species ]
22.1.3 Array 原型对象属性
22.1.3.1 Array.prototype.concat ( ...arguments )
22.1.3.2 Array.prototype.constructor
22.1.3.3 Array.prototype.copyWithin ( target, start [ , end ] )
22.1.3.4 Array.prototype.entries ( )
22.1.3.5 Array.prototype.every ( callbackfn [ , thisArg ] )
22.1.3.6 Array.prototype.fill ( value [ , start [ , end ] ] )
22.1.3.7 Array.prototype.filter ( callbackfn [ , thisArg ] )
22.1.3.8 Array.prototype.find ( predicate [ , thisArg ] )
22.1.3.9 Array.prototype.findIndex ( predicate [ , thisArg ] )
22.1.3.10 Array.prototype.flat( [ depth ] )
22.1.3.10.1 FlattenIntoArray(target, source, sourceLen, start, depth [ , mapperFunction, thisArg ])
22.1.3.11 Array.prototype.flatMap ( mapperFunction [ , thisArg ] )
22.1.3.12 Array.prototype.forEach ( callbackfn [ , thisArg ] )
22.1.3.13 Array.prototype.includes ( searchElement [ , fromIndex ] )
22.1.3.14 Array.prototype.indexOf ( searchElement [ , fromIndex ] )
22.1.3.15 Array.prototype.join ( separator )
22.1.3.16 Array.prototype.keys ( )
22.1.3.17 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
22.1.3.18 Array.prototype.map ( callbackfn [ , thisArg ] )
22.1.3.19 Array.prototype.pop ( )
22.1.3.20 Array.prototype.push ( ...items )
22.1.3.21 Array.prototype.reduce ( callbackfn [ , initialValue ] )
22.1.3.22 Array.prototype.reduceRight ( callbackfn [ , initialValue ] )
22.1.3.23 Array.prototype.reverse ( )
22.1.3.24 Array.prototype.shift ( )
22.1.3.25 Array.prototype.slice ( start, end )
22.1.3.26 Array.prototype.some ( callbackfn [ , thisArg ] )
22.1.3.27 Array.prototype.sort ( comparefn )
22.1.3.27.1 RS: SortCompare ( x, y )
22.1.3.28 Array.prototype.splice ( start, deleteCount, ...items )
22.1.3.29 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
22.1.3.30 Array.prototype.toString ( )
22.1.3.31 Array.prototype.unshift ( ...items )
22.1.3.32 Array.prototype.values ( )
22.1.3.33 Array.prototype [ @@iterator ] ( )
22.1.3.34 Array.prototype [ @@unscopables ]
22.1.4 Array 实例属性
22.1.4.1 length
22.1.5 Array 迭代器对象
22.1.5.1 CreateArrayIterator ( array, kind )
22.1.5.2 The %ArrayIteratorPrototype% Object
22.1.5.2.1 %ArrayIteratorPrototype%.next ( )
22.1.5.2.2 %ArrayIteratorPrototype% [ @@toStringTag ]
22.1.5.3 Properties of Array Iterator Instances
22.2 类数组对象
22.2.1 %TypedArray% 内部对象
22.2.1.1 %TypedArray% ( )
22.2.2 %TypedArray% 内部对象属性
22.2.2.1 %TypedArray%.from ( source [ , mapfn [ , thisArg ] ] )
22.2.2.2 %TypedArray%.of ( ...items )
22.2.2.3 %TypedArray%.prototype
22.2.2.4 get %TypedArray% [ @@species ]
22.2.3 %TypedArrayPrototype% 对象属性
22.2.3.1 获取 %TypedArray%.prototype.buffer
22.2.3.2 获取 %TypedArray%.prototype.byteLength
22.2.3.3 获取 %TypedArray%.prototype.byteOffset
22.2.3.4 %TypedArray%.prototype.constructor
22.2.3.5 %TypedArray%.prototype.copyWithin ( target, start [ , end ] )
22.2.3.5.1 RS: ValidateTypedArray ( O )
22.2.3.6 %TypedArray%.prototype.entries ( )
22.2.3.7 %TypedArray%.prototype.every ( callbackfn [ , thisArg ] )
22.2.3.8 %TypedArray%.prototype.fill ( value [ , start [ , end ] ] )
22.2.3.9 %TypedArray%.prototype.filter ( callbackfn [ , thisArg ] )
22.2.3.10 %TypedArray%.prototype.find ( predicate [ , thisArg ] )
22.2.3.11 %TypedArray%.prototype.findIndex ( predicate [ , thisArg ] )
22.2.3.12 %TypedArray%.prototype.forEach ( callbackfn [ , thisArg ] )
22.2.3.13 %TypedArray%.prototype.includes ( searchElement [ , fromIndex ] )
22.2.3.14 %TypedArray%.prototype.indexOf ( searchElement [ , fromIndex ] )
22.2.3.15 %TypedArray%.prototype.join ( separator )
22.2.3.16 %TypedArray%.prototype.keys ( )
22.2.3.17 %TypedArray%.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
22.2.3.18 获取 %TypedArray%.prototype.length
22.2.3.19 %TypedArray%.prototype.map ( callbackfn [ , thisArg ] )
22.2.3.20 %TypedArray%.prototype.reduce ( callbackfn [ , initialValue ] )
22.2.3.21 %TypedArray%.prototype.reduceRight ( callbackfn [ , initialValue ] )
22.2.3.22 %TypedArray%.prototype.reverse ( )
22.2.3.23 %TypedArray%.prototype.set ( overloaded [ , offset ] )
22.2.3.23.1 %TypedArray%.prototype.set ( array [ , offset ] )
22.2.3.23.2 %TypedArray%.prototype.set ( typedArray [ , offset ] )
22.2.3.24 %TypedArray%.prototype.slice ( start, end )
22.2.3.25 %TypedArray%.prototype.some ( callbackfn [ , thisArg ] )
22.2.3.26 %TypedArray%.prototype.sort ( comparefn )
22.2.3.27 %TypedArray%.prototype.subarray ( begin, end )
22.2.3.28 %TypedArray%.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
22.2.3.29 %TypedArray%.prototype.toString ( )
22.2.3.30 %TypedArray%.prototype.values ( )
22.2.3.31 %TypedArray%.prototype [ @@iterator ] ( )
22.2.3.32 获取 %TypedArray%.prototype [ @@toStringTag ]
22.2.4 TypedArray 构造器
22.2.4.1 TypedArray ( )
22.2.4.2 TypedArray ( length )
22.2.4.2.1 RS: AllocateTypedArray ( constructorName, newTarget, defaultProto [ , length ] )
22.2.4.2.2 RS: AllocateTypedArrayBuffer ( O, length )
22.2.4.3 TypedArray ( typedArray )
22.2.4.4 TypedArray ( object )
22.2.4.5 TypedArray ( buffer [ , byteOffset [ , length ] ] )
22.2.4.6 TypedArrayCreate ( constructor, argumentList )
22.2.4.7 TypedArraySpeciesCreate ( exemplar, argumentList )
22.2.5 TypedArray 构造器属性
22.2.5.1 TypedArray.BYTES_PER_ELEMENT
22.2.5.2 TypedArray.prototype
22.2.6 TypedArray 原型对象属性
22.2.6.1 TypedArray.prototype.BYTES_PER_ELEMENT
22.2.6.2 TypedArray.prototype.constructor
22.2.7 TypedArray 实例属性
23 带键的集合
23.1 Map 对象
23.1.1 Map 构造器
23.1.1.1 Map ( [ iterable ] )
23.1.1.2 AddEntriesFromIterable ( target, iterable, adder )
23.1.2 Map 构造器属性
23.1.2.1 Map.prototype
23.1.2.2 获取 Map [ @@species ]
23.1.3 Map 原型对象属性
23.1.3.1 Map.prototype.clear ( )
23.1.3.2 Map.prototype.constructor
23.1.3.3 Map.prototype.delete ( key )
23.1.3.4 Map.prototype.entries ( )
23.1.3.5 Map.prototype.forEach ( callbackfn [ , thisArg ] )
23.1.3.6 Map.prototype.get ( key )
23.1.3.7 Map.prototype.has ( key )
23.1.3.8 Map.prototype.keys ( )
23.1.3.9 Map.prototype.set ( key, value )
23.1.3.10 获取 Map.prototype.size
23.1.3.11 Map.prototype.values ( )
23.1.3.12 Map.prototype [ @@iterator ] ( )
23.1.3.13 Map.prototype [ @@toStringTag ]
23.1.4 Map 实例属性
23.1.5 Map 迭代器对象
23.1.5.1 CreateMapIterator ( map, kind )
23.1.5.2 The %MapIteratorPrototype% Object
23.1.5.2.1 %MapIteratorPrototype%.next ( )
23.1.5.2.2 %MapIteratorPrototype% [ @@toStringTag ]
23.1.5.3 Map 迭代器实例属性
23.2 Set 对象
23.2.1 Set 构造器
23.2.1.1 Set ( [ iterable ] )
23.2.2 Set 构造器属性
23.2.2.1 Set.prototype
23.2.2.2 获取 Set [ @@species ]
23.2.3 Set 原型对象属性
23.2.3.1 Set.prototype.add ( value )
23.2.3.2 Set.prototype.clear ( )
23.2.3.3 Set.prototype.constructor
23.2.3.4 Set.prototype.delete ( value )
23.2.3.5 Set.prototype.entries ( )
23.2.3.6 Set.prototype.forEach ( callbackfn [ , thisArg ] )
23.2.3.7 Set.prototype.has ( value )
23.2.3.8 Set.prototype.keys ( )
23.2.3.9 获取 Set.prototype.size
23.2.3.10 Set.prototype.values ( )
23.2.3.11 Set.prototype [ @@iterator ] ( )
23.2.3.12 Set.prototype [ @@toStringTag ]
23.2.4 Set 实例属性
23.2.5 Set 实例对象
23.2.5.1 CreateSetIterator ( set, kind )
23.2.5.2 %SetIteratorPrototype% 对象
23.2.5.2.1 %SetIteratorPrototype%.next ( )
23.2.5.2.2 %SetIteratorPrototype% [ @@toStringTag ]
23.2.5.3 Set 迭代器对象属性
23.3 WeakMap 对象
23.3.1 WeakMap 构造器
23.3.1.1 WeakMap ( [ iterable ] )
23.3.2 WeakMap 构造器属性
23.3.2.1 WeakMap.prototype
23.3.3 WeakMap 原型对象属性
23.3.3.1 WeakMap.prototype.constructor
23.3.3.2 WeakMap.prototype.delete ( key )
23.3.3.3 WeakMap.prototype.get ( key )
23.3.3.4 WeakMap.prototype.has ( key )
23.3.3.5 WeakMap.prototype.set ( key, value )
23.3.3.6 WeakMap.prototype [ @@toStringTag ]
23.3.4 WeakMap 实例属性
23.4 WeakSet 对象
23.4.1 WeakSet 构造器
23.4.1.1 WeakSet ( [ iterable ] )
23.4.2 WeakSet 构造器属性
23.4.2.1 WeakSet.prototype
23.4.3 WeakSet 原型对象属性
23.4.3.1 WeakSet.prototype.add ( value )
23.4.3.2 WeakSet.prototype.constructor
23.4.3.3 WeakSet.prototype.delete ( value )
23.4.3.4 WeakSet.prototype.has ( value )
23.4.3.5 WeakSet.prototype [ @@toStringTag]
23.4.4 WeakSet 实例属性
24 结构化数据
24.1 ArrayBuffer 对象
24.1.1 ArrayBuffer 对象的抽象操作
24.1.1.1 AllocateArrayBuffer ( constructor, byteLength )
24.1.1.2 IsDetachedBuffer ( arrayBuffer )
24.1.1.3 DetachArrayBuffer ( arrayBuffer [ , key ] )
24.1.1.4 CloneArrayBuffer ( srcBuffer, srcByteOffset, srcLength, cloneConstructor )
24.1.1.5 RawBytesToNumber ( type, rawBytes, isLittleEndian )
24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, isTypedArray, order [ , isLittleEndian ] )
24.1.1.7 NumberToRawBytes ( type, value, isLittleEndian )
24.1.1.8 SetValueInBuffer ( arrayBuffer, byteIndex, type, value, isTypedArray, order [ , isLittleEndian ] )
24.1.1.9 GetModifySetValueInBuffer ( arrayBuffer, byteIndex, type, value, op [ , isLittleEndian ] )
24.1.2 ArrayBuffer 构造器
24.1.2.1 ArrayBuffer ( length )
24.1.3 ArrayBuffer 构造器属性
24.1.3.1 ArrayBuffer.isView ( arg )
24.1.3.2 ArrayBuffer.prototype
24.1.3.3 get ArrayBuffer [ @@species ]
24.1.4 ArrayBuffer 原型对象属性
24.1.4.1 get ArrayBuffer.prototype.byteLength
24.1.4.2 ArrayBuffer.prototype.constructor
24.1.4.3 ArrayBuffer.prototype.slice ( start, end )
24.1.4.4 ArrayBuffer.prototype [ @@toStringTag ]
24.1.5 ArrayBuffer 实例属性
24.2 SharedArrayBuffer 对象
24.2.1 SharedArrayBuffer 对象的抽象操作
24.2.1.1 AllocateSharedArrayBuffer ( constructor, byteLength )
24.2.1.2 IsSharedArrayBuffer ( obj )
24.2.2 SharedArrayBuffer 构造器
24.2.2.1 SharedArrayBuffer ( [ length ] )
24.2.3 SharedArrayBuffer 构造器属性
24.2.3.1 SharedArrayBuffer.prototype
24.2.3.2 get SharedArrayBuffer [ @@species ]
24.2.4 SharedArrayBuffer 原型对象属性
24.2.4.1 get SharedArrayBuffer.prototype.byteLength
24.2.4.2 SharedArrayBuffer.prototype.constructor
24.2.4.3 SharedArrayBuffer.prototype.slice ( start, end )
24.2.4.4 SharedArrayBuffer.prototype [ @@toStringTag ]
24.2.5 SharedArrayBuffer 实例属性
24.3 DataView 对象
24.3.1 DataView 对象抽象操作
24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
24.3.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
24.3.2 DataView 构造器
24.3.2.1 DataView ( buffer [ , byteOffset [ , byteLength ] ] )
24.3.3 DataView 构造器属性
24.3.3.1 DataView.prototype
24.3.4 DataView 原型对象属性
24.3.4.1 获取 DataView.prototype.buffer
24.3.4.2 获取 DataView.prototype.byteLength
24.3.4.3 获取 DataView.prototype.byteOffset
24.3.4.4 DataView.prototype.constructor
24.3.4.5 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
24.3.4.6 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
24.3.4.7 DataView.prototype.getInt8 ( byteOffset )
24.3.4.8 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
24.3.4.9 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
24.3.4.10 DataView.prototype.getUint8 ( byteOffset )
24.3.4.11 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
24.3.4.12 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
24.3.4.13 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
24.3.4.14 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
24.3.4.15 DataView.prototype.setInt8 ( byteOffset, value )
24.3.4.16 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
24.3.4.17 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
24.3.4.18 DataView.prototype.setUint8 ( byteOffset, value )
24.3.4.19 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
24.3.4.20 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
24.3.4.21 DataView.prototype [ @@toStringTag ]
24.3.5 DataView 实例属性
24.4 Atomics 对象
24.4.1 Atomics 抽象操作
24.4.2 Atomics.add ( typedArray, index, value )
24.4.3 Atomics.and ( typedArray, index, value )
24.4.4 Atomics.compareExchange ( typedArray, index, expectedValue, replacementValue )
24.4.5 Atomics.exchange ( typedArray, index, value )
24.4.6 Atomics.isLockFree ( size )
24.4.7 Atomics.load ( typedArray, index )
24.4.8 Atomics.or ( typedArray, index, value )
24.4.9 Atomics.store ( typedArray, index, value )
24.4.10 Atomics.sub ( typedArray, index, value )
24.4.11 Atomics.wait ( typedArray, index, value, timeout )
24.4.12 Atomics.notify ( typedArray, index, count )
24.4.13 Atomics.xor ( typedArray, index, value )
24.4.14 Atomics [ @@toStringTag ]
24.5 JSON 对象
24.5.1 JSON.parse ( text [ , reviver ] )
24.5.1.1 RS: InternalizeJSONProperty ( holder, name )
24.5.2 JSON.stringify ( value [ , replacer [ , space ] ] )
24.5.2.1 RS: SerializeJSONProperty ( key, holder )
24.5.2.2 RS: QuoteJSONString ( value )
24.5.2.3 RS: UnicodeEscape ( C )
24.5.2.4 RS: SerializeJSONObject ( value )
24.5.2.5 RS: SerializeJSONArray ( value )
24.5.3 JSON [ @@toStringTag ]
25 控制抽象对象
25.1 迭代
25.1.1 通用迭代接口
25.1.1.1 Iterable 接口
25.1.1.2 Iterator 接口
25.1.1.3 AsyncIterable 接口
25.1.1.4 AsyncIterator 接口
25.1.1.5 IteratorResult 接口
25.1.2 %IteratorPrototype% 对象
25.1.2.1 %IteratorPrototype% [ @@iterator ] ( )
25.1.3 %AsyncIteratorPrototype% 对象
25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )
25.1.4 Async-from-Sync 接口对象
25.1.4.1 CreateAsyncFromSyncIterator ( syncIteratorRecord )
25.1.4.2 %AsyncFromSyncIteratorPrototype% 对象
25.1.4.2.1 %AsyncFromSyncIteratorPrototype%.next ( value )
25.1.4.2.2 %AsyncFromSyncIteratorPrototype%.return ( value )
25.1.4.2.3 %AsyncFromSyncIteratorPrototype%.throw ( value )
25.1.4.2.4 %AsyncFromSyncIteratorPrototype% [ @@toStringTag ]
25.1.4.2.5 Async-from-Sync Iterator Value Unwrap Functions
25.1.4.3 Async-from-Sync 迭代器实例属性
25.1.4.4 AsyncFromSyncIteratorContinuation ( result, promiseCapability )
25.2 GeneratorFunction 对象
25.2.1 GeneratorFunction 构造器
25.2.1.1 GeneratorFunction ( p1, p2, … , pn, body )
25.2.2 GeneratorFunction 构造器属性
25.2.2.1 GeneratorFunction.length
25.2.2.2 GeneratorFunction.prototype
25.2.3 GeneratorFunction 原型对象属性
25.2.3.1 GeneratorFunction.prototype.constructor
25.2.3.2 GeneratorFunction.prototype.prototype
25.2.3.3 GeneratorFunction.prototype [ @@toStringTag ]
25.2.4 GeneratorFunction 实例
25.2.4.1 length
25.2.4.2 name
25.2.4.3 prototype
25.3 AsyncGeneratorFunction 对象
25.3.1 AsyncGeneratorFunction 构造器
25.3.1.1 AsyncGeneratorFunction ( p1, p2, ..., pn, body )
25.3.2 AsyncGeneratorFunction 构造器属性
25.3.2.1 AsyncGeneratorFunction.length
25.3.2.2 AsyncGeneratorFunction.prototype
25.3.3 AsyncGeneratorFunction 原型对象属性Object
25.3.3.1 AsyncGeneratorFunction.prototype.constructor
25.3.3.2 AsyncGeneratorFunction.prototype.prototype
25.3.3.3 AsyncGeneratorFunction.prototype [ @@toStringTag ]
25.3.4 AsyncGeneratorFunction 实例
25.3.4.1 length
25.3.4.2 name
25.3.4.3 prototype
25.4 Generator 对象
25.4.1 Generator 原型对象属性
25.4.1.1 Generator.prototype.constructor
25.4.1.2 Generator.prototype.next ( value )
25.4.1.3 Generator.prototype.return ( value )
25.4.1.4 Generator.prototype.throw ( exception )
25.4.1.5 Generator.prototype [ @@toStringTag ]
25.4.2 Generator 实例属性
25.4.3 Generator 抽象操作
25.4.3.1 GeneratorStart ( generator, generatorBody )
25.4.3.2 GeneratorValidate ( generator )
25.4.3.3 GeneratorResume ( generator, value )
25.4.3.4 GeneratorResumeAbrupt ( generator, abruptCompletion )
25.4.3.5 GetGeneratorKind ( )
25.4.3.6 GeneratorYield ( iterNextObj )
25.5 AsyncGenerator 对象
25.5.1 AsyncGenerator 原型对象属性
25.5.1.1 AsyncGenerator.prototype.constructor
25.5.1.2 AsyncGenerator.prototype.next ( value )
25.5.1.3 AsyncGenerator.prototype.return ( value )
25.5.1.4 AsyncGenerator.prototype.throw ( exception )
25.5.1.5 AsyncGenerator.prototype [ @@toStringTag ]
25.5.2 AsyncGenerator 实例属性
25.5.3 AsyncGenerator 抽象操作
25.5.3.1 AsyncGeneratorRequest 记录
25.5.3.2 AsyncGeneratorStart ( generator, generatorBody )
25.5.3.3 AsyncGeneratorResolve ( generator, value, done )
25.5.3.4 AsyncGeneratorReject ( generator, exception )
25.5.3.5 AsyncGeneratorResumeNext ( generator )
25.5.3.6 AsyncGeneratorEnqueue ( generator, completion )
25.5.3.7 AsyncGeneratorYield ( value )
25.6 Promise 对象
25.6.1 Promise 抽象操作
25.6.1.1 PromiseCapability 记录
25.6.1.1.1 IfAbruptRejectPromise ( value, capability )
25.6.1.2 PromiseReaction 记录
25.6.1.3 CreateResolvingFunctions ( promise )
25.6.1.3.1 Promise 的 Reject 函数
25.6.1.3.2 Promise 的 Resolve 函数
25.6.1.4 FulfillPromise ( promise, value )
25.6.1.5 NewPromiseCapability ( C )
25.6.1.5.1 GetCapabilitiesExecutor Functions
25.6.1.6 IsPromise ( x )
25.6.1.7 RejectPromise ( promise, reason )
25.6.1.8 TriggerPromiseReactions ( reactions, argument )
25.6.1.9 HostPromiseRejectionTracker ( promise, operation )
25.6.2 Promise 任务
25.6.2.1 PromiseReactionJob ( reaction, argument )
25.6.2.2 PromiseResolveThenableJob ( promiseToResolve, thenable, then )
25.6.3 Promise 构造函数
25.6.3.1 Promise ( executor )
25.6.4 Promise 构造函数属性
25.6.4.1 Promise.all ( iterable )
25.6.4.1.1 RS: PerformPromiseAll ( iteratorRecord, constructor, resultCapability )
25.6.4.1.2 Promise.all Resolve 函数
25.6.4.2 Promise.prototype
25.6.4.3 Promise.race ( iterable )
25.6.4.3.1 RS: PerformPromiseRace ( iteratorRecord, constructor, resultCapability )
25.6.4.4 Promise.reject ( r )
25.6.4.5 Promise.resolve ( x )
25.6.4.5.1 PromiseResolve ( C, x )
25.6.4.6 get Promise [ @@species ]
25.6.5 Promise 原型对象属性
25.6.5.1 Promise.prototype.catch ( onRejected )
25.6.5.2 Promise.prototype.constructor
25.6.5.3 Promise.prototype.finally ( onFinally )
25.6.5.3.1 Then Finally 函数
25.6.5.3.2 Catch Finally 函数
25.6.5.4 Promise.prototype.then ( onFulfilled, onRejected )
25.6.5.4.1 PerformPromiseThen ( promise, onFulfilled, onRejected [ , resultCapability ] )
25.6.5.5 Promise.prototype [ @@toStringTag ]
25.6.6 Promise 实例属性
25.7 AsyncFunction 对象
25.7.1 The AsyncFunction 构造器
25.7.1.1 AsyncFunction ( p1, p2, … , pn, body )
25.7.2 AsyncFunction 构造器属性
25.7.2.1 AsyncFunction.length
25.7.2.2 AsyncFunction.prototype
25.7.3 AsyncFunction 原型对象属性
25.7.3.1 AsyncFunction.prototype.constructor
25.7.3.2 AsyncFunction.prototype [ @@toStringTag ]
25.7.4 AsyncFunction 实例
25.7.4.1 length
25.7.4.2 name
25.7.5 Async 函数抽象操作
25.7.5.1 AsyncFunctionStart ( promiseCapability, asyncFunctionBody )
26 反射
26.1 Reflect 对象
26.1.1 Reflect.apply ( target, thisArgument, argumentsList )
26.1.2 Reflect.construct ( target, argumentsList [ , newTarget ] )
26.1.3 Reflect.defineProperty ( target, propertyKey, attributes )
26.1.4 Reflect.deleteProperty ( target, propertyKey )
26.1.5 Reflect.get ( target, propertyKey [ , receiver ] )
26.1.6 Reflect.getOwnPropertyDescriptor ( target, propertyKey )
26.1.7 Reflect.getPrototypeOf ( target )
26.1.8 Reflect.has ( target, propertyKey )
26.1.9 Reflect.isExtensible ( target )
26.1.10 Reflect.ownKeys ( target )
26.1.11 Reflect.preventExtensions ( target )
26.1.12 Reflect.set ( target, propertyKey, V [ , receiver ] )
26.1.13 Reflect.setPrototypeOf ( target, proto )
26.2 Proxy 对象
26.2.1 The Proxy Constructor
26.2.1.1 Proxy ( target, handler )
26.2.2 Properties of the Proxy Constructor
26.2.2.1 Proxy.revocable ( target, handler )
26.2.2.1.1 Proxy 撤销函数
26.3 模块命名空间对象
26.3.1 @@toStringTag
27 内存模型
27.1 内存模型基础
27.2 代理事件记录
27.3 选择值记录
27.4 候选执行
27.5 内存模型抽象操作
27.5.1 EventSet ( execution )
27.5.2 SharedDataBlockEventSet ( execution )
27.5.3 SynchronizeEventSet ( execution )
27.5.4 HostEventSet ( execution )
27.5.5 ComposeWriteEventBytes ( execution, byteIndex, Ws )
27.5.6 ValueOfReadEvent ( execution, R )
27.6 候选执行关系
27.6.1 agent-order
27.6.2 reads-bytes-from
27.6.3 reads-from
27.6.4 host-synchronizes-with
27.6.5 synchronizes-with
27.6.6 happens-before
27.7 有效执行的属性
27.7.1 有效读取
27.7.2 连续读取
27.7.3 无中断读取
27.7.4 顺序一致原子性
27.7.5 有效执行
27.8 竞争
27.9 数据竞争
27.10 自由数据竞争
27.11 共享内存准则
Published with GitBook
1 范围
1 范围
本规范定义了ECMAScript 2019通用程序语言。
results matching "
"
No results matching "
"