ES6 - 语法
语法定义了编写程序的规则集。每种语言规范都定义了自己的语法。
JavaScript 程序可以由 − 组成
变量 − 表示可以为程序存储值的命名内存块。
文字 − 表示常量/固定值。
运算符 − 定义如何处理操作数的符号。
关键字 − 在语言上下文中具有特殊含义的单词。
下表列出了 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 |
模块 − 表示可以在不同程序/脚本之间重复使用的代码块。
注释 − 用于提高代码的可读性。JavaScript 引擎会忽略这些注释。
标识符 − 这些是赋予程序中元素的名称,如变量、函数等。标识符的规则是 −
标识符可以同时包含字符和数字。但是,标识符不能以数字开头。
标识符不能包含下划线 (_) 或美元符号 ($ 以外的特殊符号。
标识符不能是关键字。它们必须是唯一的。
标识符区分大小写。标识符不能包含空格。
下表说明了一些有效和无效的标识符。
有效标识符示例 | 无效标识符示例 |
---|---|
firstName first_name num1 $result |
Var# first name first-name 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)功能分为三组 −
待发布 − 这些是 V8 认为稳定的功能。
阶段性功能 − 这些是几乎完成的功能,但 V8 团队认为它们不稳定。
正在进行中 − 这些功能应仅用于测试目的。
第一类功能完全受支持,并且由 node 默认启用。阶段性功能需要运行时 - - harmony 标志才能执行。
可在此处找到 Node.js 组件特定 CLI 标志列表 − https://nodejs.org/api/cli.html
严格模式
ECMAScript 规范第五版引入了严格模式。严格模式对 JavaScript 施加了一层约束。它对正常的 JavaScript 语义进行了几项更改。
通过包含以下 −,可以将代码转换为在严格模式下工作
// 整个脚本严格模式语法 "use strict"; v = "Hi! I'm a strict mode script!"; // 错误:变量 v 未声明
在上面的代码片段中,整个代码作为 JavaScript 的受限变体运行。
JavaScript 还允许将严格模式限制在块的范围内,就像限制在函数的范围内一样。如下所示 −
v = 15 function f1() { "use strict"; var v = "Hi! I'm a strict mode script!"; }
在上面的代码片段中,函数之外的任何代码都将在非严格模式下运行。函数内的所有语句都将在严格模式下执行。
ES6 和提升
JavaScript 引擎默认将声明移至顶部。此功能称为提升。此功能适用于变量和函数。提升允许 JavaScript 在声明组件之前使用它。但是,提升的概念不适用于在严格模式下运行的脚本。
变量提升和函数提升将在后续章节中解释。