1.1、区分大小写
ECMAScript中一切都是区分大小写的,无论是变量、函数名还是操作符,都区分大小写。举个例子,变量 test 和变量 Test 是两个不同的变量。类似地,typeof 不能作为函数名,因为它是一个关键字(后面会详细介绍)。但是Typeof 是一个完全有效的函数名。
1.2、标识符
所谓标识符,就是变量、函数、属性或函数参数的名称。标识符可以由一或多个下列字符组成:
- 第一个字符必须是一个字母、下划线(_)或美元符号($)
- 剩下的其他字符可以是字母、下划线、美元符号或数字
标识符中的字母可以是扩展ASCII中的字母,也可在是Unicode的字母字符
按照惯例,ECMAScript 标识符使用驼峰大小写形式,即第一个单词的首字母小写,后面每个单词的首字母大写,如:
- firstSecond
- myCar
- doSomethingImportant
注意:关键字、保留字、true、false 和 null不能作为标识符
1.3、注释
ECMAScript采用C语言风格的注释,包括单行注释和块注释。单行注释以两个斜杠字符开头
// 单行注释
块注释以一个斜杠和一个星号( /* )开头,以它们的反向组合( */ )结尾,如:
/* 这是多行
注释 */
2.1、关键字与保留字
ECMA-262描述了一组保留的关键字,这些关键字有特殊用途,比如表示控制语句的开始和结束,或者执行特定的操作。按照规定,保留的关键字不能作标识符或属性名。ECMA-262第6版规定的所有关键字如下:
break | do | in | typeof |
case | else | instanceof | var |
catch | export | new | void |
class | extends | return | while |
const | finally | super | with |
continue | for | switch | yield |
debugger | function | this | default |
if | throw | delete | import |
try |
规范中也描述了一组未来的保留字,同样不能用作标识符或属性名。虽然保留字在语言中没有特定用途,但它们是保留给将来做关键字用的。
以下是ECMA-262第6版为将来保留的所有词汇。
始终保留:
enum
严格模式下保留:
implements | package | public |
interface | protected | static |
let | private |
模块代码中保留:
await
这些词汇不能用作标识符,但现在还可以用作对象的属性名。一般来说,最好还是不要使用关键字和保留字作为标识符和属性名,以确保兼容过去和未来的ECMAScript版本。