ES 6 语法
ES 6 语法定义了编写程序的规则集。每种语言规范都定义了自己的语法。
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引擎忽略。
标识符:这些是程序中元素的名称,如变量,函数等。
标识符的规则是:
- 标识符可以包括字符和数字。但是,标识符不能以数字开头。
- 除下划线(_)或美元符号($)外,标识符不能包含特殊符号。
- 标识符不能是关键字。它们必须是独一无二的
- 标识符区分大小写。标识符不能包含空格。
下表说明了一些有效和无效的标识符。
Examples of valid identifiers | Examples of invalid identifiers |
---|---|
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行:声明变量,变量是一种在程序中存储值的机制。
第2行:将变量的值打印到提示符。这里控制台指的是终端窗口,函数log()用于在屏幕上显示文本
执行规则:
我们将使用Node.js来执行我们的代码。
(1)将文件另存为Test.js.
(2)右键单击Visual Studio代码的project-explorer窗口中的working files选项下的Test.js文件。
(3)选择“在命令提示符下打开”选项。
(4)在Node的终端窗口中键入以下命令。
node Test.js
(5)成功执行文件后将显示以下输出
Hello World
Node.js和JS / ES6
所有ECMAScript 2015(ES6)功能分为三组,用于交付、阶段和进行中的功能:
- 交付功能:该功能是被V8认为最稳定的,可在Node.js上默认打开,不需要任何类型的运行时标志。
- 分阶段的功能:几乎完成的功能,V8团队认为不稳定,需要运行时标志:--harmony。
- 正在进行的功能:可以通过各自的harmony标志单独激活,但除非出于测试目的,否则这是非常不鼓励的,注意:这些标志由V8公开,并且可能会在没有任何弃用通知的情况下更改。
严格模式
第五版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!"; }
在上面的代码片段中,函数外部的任何代码都将以非严格模式运行。函数中的所有语句都将在严格模式下执行。
ES 6 变量提升
默认情况下,JavaScript引擎将声明移动到顶部,此功能称为变量提升。此功能适用于变量和函数。Hoisting允许JavaScript在声明之前使用组件。但是,提升的概念不适用于在严格模式下运行的脚本。