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

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