语言基础
任何语言的核心所描述的都是这门语言在最基本的层面上如何工作,涉及语法、操作符、数据类型 以及内置功能,在此基础之上才可以构建复杂的解决方案。如前所述,ECMA-262 以一个名为 ECMAScript 的伪语言的形式,定义了 JavaScript 的所有这些方面。
语法
区分大小写
ECMAScript 中一切都区分大小写。无论是变量、函数名还是操作符,都区分大 10 小写。换句话说,变量 test 和变量 Test 是两个不同的变量。
标识符
所谓标识符,就是变量、函数、属性或函数参数的名称。标识符可以由一或多个下列字符组成: 字母、数字、下划线(_)和美元符号($)。标识符 组成不能由数字开头。
最佳实践: ECMAScript 标识符使用驼峰大小写形式,即第一个单词的首字母小写,后面每个单词的首字母大写。虽然这种写法并不是强制性的,但因为这种形式跟 ECMAScript 内置函数和对象的命名方式一致。
关键字、保留字、true、false 和 null 不能作为标识符。具体查看关键字和保留字
注释
ECMAScript 采用 C 语言风格的注释,包括单行注释和块注释。
// 单行注释
/*
多行注释
*/
/**
* 多行注释的一种变体
* 常用于文档注释或结构化注释
*/
严格模式
ECMAScript 5 增加了严格模式(strict mode)的概念。严格模式是一种不同的 JavaScript 解析和执 行模型,ECMAScript 3 的一些不规范写法在这种模式下会被处理,对于不安全的活动将抛出错误。要对 整个脚本启用严格模式,在脚本开头加上这一行:
'use strict';
虽然看起来像个没有赋值给任何变量的字符串,但它其实是一个预处理指令。任何支持的 JavaScript 引擎看到它都会切换到严格模式。选择这种语法形式的目的是不破坏 ECMAScript 3 语法。
也可以单独指定一个函数在严格模式下执行,只要把这个预处理指令放到函数体开头即可:
function doSomething() {
'use strict';
// 函数体
}
严格模 式会影响 JavaScript 执行的很多方面,因此本书在用到它时会明确指出来。所有现代浏览器 都支持严格模式。
语句
ECMAScript 中的语句以分号结尾。省略分号意味着由解析器确定语句在哪里结尾,如下面的例子 所示:
let sum = a + b; // 没有分号也有效,但不推荐
let diff = a - b; // 加分号有效,推荐