本篇笔记示例代码仓库:https://github.com/zhangtuo1999/study-js。
本篇笔记遵循中文技术文档的写作规范。
主要内容来源于《JavaScript高级程序设计(第4版)》,部分内容来源于MDN Web Docs。
语言基础
1 语法
1.1 区分大小写
ECMAScript 中一切都区分大小写。无论变量、函数名还是操作符,都区分大小写。typeof
不能作为函数名,因为它是一个关键字,但是Typeof
是有效的函数名。
1.2 标识符
标识符,就是变量、函数、属性和函数参数的名称。必须符合以下规定:
- 第一个字符必须是一个字母、
_
或$
- 其余字符可以是字母、
_
、$
或数字
注意:
-
这里的字符可以是字母也可以是 Unicode 字母字符,比如汉字。
-
按照惯例,ECMAScrpipt 中的标识符使用驼峰大小写,即第一个单词首字母小写,其余单词首字母大写。
-
关键字、保留字、
true
、false
和null
不能作为标识符。
1.3 注释
// 单行注释
/*
多行注释
多行注释
*/
1.4 语句
-
ECMAScript 中语句以分号结尾。语句末尾的分号不是必须的。
-
if 之类的控制语句只在执行多条语句时要求有代码块。最佳实践是始终在控制语句中使用代码块:
if(test){ ... }
2 关键字和保留字
2.1 关键字
ECMAScript 描述了一组关键字,它们有特殊用途。比如:控制语句开始和结束或者执行特定操作。
关键字不能作为标识符和属性名来使用。
ECMAScript 第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
2.2 保留字
保留字,在语言中没有特定的用途,但是它们是保留给未来做关键字用的。
同样地,保留字不能作为标识符和属性名来使用。
ECMAScript 第6版关键字:
- 始终保留:
enum
- 严格模式下保留:
implements
、package
、public
、interface
、protected
、static
、let
、private
- 模块代码中保留:
await