如何找到 javascript 的所有特定语言 tokens/lexicons?

How can I find all language specific tokens/lexicons for javascript?

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

我在哪里可以找到它?

ECMAScript(又名 JavaScript)的完整词法规范可以在 Section 11 (Lexical Grammar) of ECMA 262 中找到。 (ECMA-262 的新版本大约每年发布一次,但是 link 中的 URL —— 从 ECMAScript 2020 开始是正确的 —— 应该继续工作,或者很容易修复。我没有转录保留字、semi-reserved 个词、运算符和其他标点符号的列表,因为这些列表可能会在未来的标准中发生变化。)

然而,精确指定哪些IdentifierName具有特定含义并不简单。你需要仔细阅读subsection 11.6 (Names and Keywords),它可能还是有点混乱。困难在于 ECMAScript 的每个后续版本都非常努力地与以前的版本保持兼容,因此很难引入新的关键字。如此多的重要符号不在保留字列表中。有些,例如 await 仅在某些情况下保留;许多其他(例如 let)仅在严格模式下保留;和一些(例如 async)总是可用作标识符,但可以在某些标识符是语法错误的情况下在句法上使用。在第 11.6.2 节中有各种符号列表,您可以根据需要组合或 select 来自这些符号。

运算符符号(除了单词运算符)更简单一些(尽管仍有一些奇怪的地方,所以阅读细则仍然是必要的)。请参阅第 11.7 节中的各种列表。