如何找到JavaScript的所有特定于语言的标记/词典?

问题描述

我基本上需要所有特定于语言的标记,JavaScript符号。基本上,所有关键字,所有标识符,所有标点符号,所有逻辑运算符号等。

我在哪里可以找到它?

解决方法

可以在Section 11 (Lexical Grammar) of ECMA 262中找到ECMAScript(又名JavaScript)的完整词汇规范。 (新版本的ECMA-262大约每年发布一次,但该链接中的URL(自ECMAScript 2020起正确)应该可以继续使用,或者易于修复。我没有转录保留字的列表,半-保留的单词,运算符和其他标点符号,因为这些列表在将来的标准中可能会发生变化。)

但是,准确指定哪些IdentifierName具有特定含义并不容易。您需要仔细阅读subsection 11.6 (Names and Keywords),它可能仍会有些混乱。困难在于,每个ECMAScript的后续版本都极力尝试与以前的版本保持兼容,从而很难引入新的关键字。保留字列表中没有这么多有效符号。有些await,仅在某些情况下保留;其他许多(例如let)仅在严格模式下保留;少数(例如async)始终可用作标识符,但是可以在某些标识符可能是语法错误的情况下在语法上使用。在11.6.2节中有各种符号列表,您可以根据需要进行组合或选择。

运算符(单词运算符除外)更加简单(尽管仍然有一些奇怪之处,因此仍然需要阅读精美的印刷品)。请参阅第11.7节中的各种列表。