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支持以下类型的注释:

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

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

示例

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

您的第一个JavaScript代码

让我们从传统的“Hello World”示例开始。

var message = "Hello World" 
console.log(message)

程序可以分析如下:

  • 第1行声明一个名为message的变量。变量是用于在程序中存储值的机制。

  • 第2行将变量的值打印到提示符。这里,console指的是终端窗口。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://node.org.cn/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在声明组件之前使用它。但是,提升的概念不适用于在严格模式下运行的脚本。

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

广告