ES6 - 语法


语法定义了编写程序的一组规则。每种语言规范都定义了自己的语法。

JavaScript 程序可以由以下部分组成:

  • 变量- 表示可以存储程序值的命名内存块。

  • 文字- 表示常量/固定值。

  • 运算符- 定义如何处理操作数的符号。

  • 关键字- 在语言上下文中具有特殊含义的单词。

下表列出了 JavaScript 中的一些关键字。下表列出了一些常用的关键字。

休息 作为 任何 转变
案件 如果 别的
变量 数字 细绳 得到
模块 类型 实例化 类型
最后 为了 枚举 出口
尽管 空白 新的
无效的 极好的 抓住
静止的 返回 真的 错误的
  • 模块- 表示可以在不同程序/脚本之间重用的代码块。

  • 注释- 用于提高代码可读性。JavaScript 引擎会忽略这些。

  • 标识符- 这些是程序中元素的名称,如变量、函数等。标识符的规则是 -

    • 标识符可以包括字符和数字。但是,标识符不能以数字开头。

    • 标识符不能包含除下划线 (_) 或美元符号 ($) 之外的特殊符号。

    • 标识符不能是关键字。它们必须是独一无二的。

    • 标识符区分大小写。标识符不能包含空格。

下表说明了一些有效和无效的标识符。

有效标识符的示例 无效标识符的示例

数字1

$结果

变量#

1号

空格和换行符

ES6 忽略程序中出现的空格、制表符和换行符。您可以在程序中自由使用空格、制表符和换行符,并且可以以整洁一致的方式自由地格式化和缩进程序,使代码易于阅读和理解。

JavaScript 区分大小写

JavaScript 区分大小写。这意味着 JavaScript 区分大写和小写字符。

分号是可选的

每行指令称为一条语句。JavaScript 中分号是可选的。

例子

console.log("hello world") 
console.log("We are learning ES6") 

一行可以包含多个语句。但是,这些语句必须用分号分隔。

JavaScript 中的注释

注释是提高程序可读性的一种方法。注释可用于包含有关程序的附加信息,例如代码的作者、有关函数/构造的提示等。编译器会忽略注释。

JavaScript 支持以下类型的注释 -

  • 单行注释 (//) - // 和行尾之间的任何文本都被视为注释。

  • 多行注释 (/* */) - 这些注释可能跨越多行。

例子

//this is single line comment  
/* This is a  
Multi-line comment 
*/

你的第一个 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.js 组件特定 CLI 标志的列表 - https://nodejs.org/api/cli.html

严格模式

ECMAScript 规范第五版引入了严格模式。严格模式对 JavaScript 施加了一层约束。它对正常的 JavaScript 语义进行了一些更改。

通过包含以下内容,可以将代码转换为在严格模式下工作:

// Whole-script strict mode syntax 
"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 在声明组件之前使用该组件。但是,提升的概念不适用于在严格模式下运行的脚本。

变量提升和函数提升将在后续章节中进行解释。