ES6 语法
语法定义了编写程序的一组规则。 每种语言规范都定义了自己的语法。
一个 JavaScript 程序可以由以下几部分组成
- 变量 - 表示可以存储程序值的命名内存块。
- Literals - 表示常量/固定值。
- 运算符 - 定义如何处理操作数的符号。
- 关键字 - 在语言上下文中具有特殊含义的单词。
下表列出了 JavaScript 中的一些关键字。 一些常用的关键字也在下表列出了。
break | as | any | Switch |
case | if | throw | Else |
var | number | string | Get |
module | type | instanceof | Typeof |
finally | for | enum | Export |
while | void | this | New |
null | super | Catch | let |
static | return | True | False |
- 模块 - 表示可以跨不同程序/脚本重用的代码块。
- Comments - 用于提高代码的可读性。 JavaScript 引擎会忽略这些。
- 标识符 - 这些是程序中元素的名称,如变量、函数等。标识符的规则是 -
- 标识符可以包括字符和数字。 但是,标识符不能以数字开头。
- 标识符不能包含特殊符号,下划线 (
_
) 或美元符号 ($
) 除外。 - 标识符不能是关键字。 它们必须是独一无二的。
- 标识符区分大小写。 标识符不能包含空格。
下表说明了一些有效和无效的标识符。
有效标识符示例 | 无效标识符示例 |
---|---|
firstName | Var# |
first_name | first name |
num1 | first-name |
$result | 1number |
空格和换行符
ES6 忽略程序中出现的空格、制表符和换行符。 我们可以在程序中自由使用空格、制表符和换行符,可以自由地以整洁一致的方式格式化和缩进程序,从而使代码易于阅读和理解。
JavaScript 区分大小写
JavaScript 区分大小写。 这意味着 JavaScript 区分大写和小写字符。
分号是可选的
每行指令称为语句。 分号在 JavaScript 中是可选的。
console.log("hello world")
console.log("We are learning ES6")
一行可以包含多个语句。 但是,这些语句必须用分号分隔。
JavaScript 中的注释
注释是提高程序可读性的一种方式。 注释可用于包含有关程序的附加信息,如代码作者、有关函数/构造的提示等。编译器会忽略注释。
JavaScript 支持以下类型的注释 -
- 单行注释 (
//
) - // 和行尾之间的任何文本都被视为注释。 - 多行注释 (
/* */
) - 这些注释可能跨越多行。
示例
// 这是单行注释
/* 这是一个
多行注释
*/
第一个 JavaScript 代码
让我们从传统的“Hello World”示例开始”。
var message = "Hello World"
console.log(message)
该程序可以分析为
- 第 1 行通过名称 message 声明了一个变量。 变量是一种在程序中存储值的机制。
- 第 2 行将变量的值打印到提示中。 这里的控制台指的是终端窗口。 函数
log()
用于在屏幕上显示文本。
可以点击运行示例进行尝试
执行代码
我们将使用 Node.js 来执行我们的代码。
- 第 1 步 - 将文件另存为 Test.js
- 第 2 步 - 右键单击 Visual Studio Code 项目资源管理器窗口中工作文件选项下的 Test.js 文件。
- 第 3 步 - 选择在命令提示符选项中打开。
- 第 4 步 - 在 Node 的终端窗口中键入以下命令。
$ node Test.js
成功执行文件时会显示以下输出。
Hello World
Node.js 和 JS/ES6
ECMAScript 2015(ES6) 功能分为三组 -
- For Shipping - 这些是 V8 认为稳定的功能。
- Staged Features - 这些几乎是已完成的功能,但 V8 团队认为这些功能并不稳定。
- In Progress - 这些功能应该仅用于测试目的。
第一类功能是完全支持的,默认情况下由节点打开。 暂存功能需要运行环境- - harmony 标志才能执行。
严格模式
ECMAScript 规范的第五版引入了严格模式。 严格模式对 JavaScript 施加了一层约束。 它对普通的 JavaScript 语义做了一些更改。
通过包含以下内容,可以将代码转换为在严格模式下工作
// 严格模式语法
"use strict";
v = "Hi! I'm a strict mode script!"; // ERROR: Variable v is not declared
在上面的片段中,整个代码作为JavaScript的约束变体运行。
JavaScript还允许限制块范围内的严格模式。 如下所示
v = 15
function f1() {
"use strict";
var v = "Hi! I'm a strict mode script!";
}
在上述片段中,该函数之外的任何代码都将在 非严格 模式下运行。 该函数中的所有语句将在严格的模式下执行。
ES6和提升
默认情况下,JavaScript引擎将声明移至顶部。 此功能被称为提升。 此功能适用于变量和函数。 提升允许JavaScript在声明组件之前使用该组件。 但是,提升的概念不适用于以严格模式运行的脚本。
在后续章节中解释了变量的提升和函数提升。