new 运算符super 关键字? : ), )if 语句do-while 语句while 语句for 语句for-in、for-of 和 for-await-of 语句continue 语句break 语句return 语句with 语句switch 语句throw 语句try 语句debugger 语句?um/p1-90`
ECMAScript 源文本是一个 Unicode 码点序列。所有从 U+0000 到
U+10FFFF 的 Unicode 码点值,包括代理码点,只要被 ECMAScript 文法允许,都可
以出现在 ECMAScript 源文本中。用于存储和交换 ECMAScript 源文本的实际编码方式
与本规范无关。无论外部源文本使用何种编码,符合规范的 ECMAScript 实现都会像处理
一个等价的
组合字符序列的各个组成部分会被视为单独的 Unicode 码点,尽管用户可能会将整 个序列视为一个单一字符。
在字符串字面量、正则表达式字面量、模板字面量和标识符中,任何 Unicode 码点 也都可以使用显式表示码点数值的 Unicode 转义序列来表示。在注释内部,这样的转 义序列会被当作注释的一部分而实际上被忽略。
ECMAScript 在 Unicode 转义序列的行为上不同于 Java 编程语言。例如,在 Java
程序中,如果 Unicode 转义序列 \u000A 出现在单行注释中,它会被解释为一个行
终止符(Unicode 码点 U+000A 是 LINE FEED (LF)),因此下一个码点就不再属于该
注释。类似地,如果 Unicode 转义序列 \u000A 出现在 Java 程序的字符串字面量
中,它同样会被解释为一个行终止符,而行终止符不允许出现在字符串字面量中——必须
写成 \n 而不是 \u000A,才能使 LINE FEED (LF) 成为字符串字面量值的一部
分。在 ECMAScript 程序中,出现在注释中的 Unicode 转义序列永远不会被解释,因此
不可能促成注释的终结。类似地,出现在 ECMAScript 程序字符串字面量中的 Unicode
转义序列总是构成该字面量的一部分,绝不会被解释为行终止符,也不会被解释为可能
终止字符串字面量的码点。
The abstract operation UTF16EncodeCodePoint takes argument cp (一个 Unicode 码点) and returns 一个 String. It performs the following steps when called:
The abstract operation CodePointsToString takes argument text (一个 Unicode 码点序列) and returns 一个 String. 它将 text 转换为一个 String 值,如
The abstract operation UTF16SurrogatePairToCodePoint takes arguments lead (一个码元) and trail (一个码元) and returns 一个码点. 构成一个 UTF-16
The abstract operation CodePointAt takes arguments string (一个 String) and position (一个非负
The abstract operation StringToCodePoints takes argument string (一个 String) and returns 一个码点列表. 它返回将 string 按照
The abstract operation ParseText takes arguments sourceText (一个 String 或一个 Unicode 码点序列) and goalSymbol (ECMAScript 文法之一中的一个非终结符) and returns 一个 Parse Node 或一个非空的
另见
ECMAScript 代码共有四种类型:
eval 函数的源文本。更精确地说,如果传给
内建 eval 函数的参数是一个 String,那么它会被当作一个 ECMAScript
eval 调用的 eval 代码,就是该
函数代码是被解析后用来提供 ECMAScript
此外,如果上述源文本被解析为:
那么该声明或表达式的
将
指令序言
是在
Use Strict 指令
是"use strict" 或 'use strict' 之一。
一个
ECMAScript 语法单元可以使用非受限或严格模式的语法和语义来处理
(
eval 的
调用是包含在严格模式代码中的一次不是严格模式代码的 ECMAScript 代码称为 非严格代码。
The abstract operation IsStrict takes argument node (一个 Parse Node) and returns 一个 Boolean. It performs the following steps when called:
ECMAScript 实现可以支持对某些函数