跳到主要内容

简介 & 词法结构

简介

JavaScript: The First 20 Years

词法结构

  1. JS 区分大小写、忽略记号之间空格。

  2. 注释 可以为 ///* ... */

  3. 字面量

  4. 标识符 可以使用 Unicode 字符、数字、_$,数字不能作为开头字符。

  5. 保留字 ,见 MDN

  6. 支持 Unicode ,转义序列以 \u 开头。

    注释中的 Unicode 转义序列不会被解释,直接作 ACSII 处理。

    JS 不会识别 Unicode 归一化(同一字符会出现不同的组合,比如 \u00E9e\u0301)。

  7. 分割语句可以不用分号,单行中语句分割必须用分号。

    但是 JS 不会把换行符都当作分号,只有下条语句无法解释为当前语句的一部分时才会。

    而以 ([/+- 作为开头的语句就有可能被解释为之前语句的一部分,比如:

    let x = 0
    [1, 2, 3].forEach(console.log) // ! Cannot read property 'forEach' of undefined

    还有一些特殊情况:

    • returnthrowyieldbreakcontinue 语句应当尽量在同一行中,尤其是简单返回一个值的时候。

    • ++-- 的使用应当保持在同一行。

    • 箭头函数 => 应当与前面的参数列表在同一行。

参考

词法文法 - MDN