es6 语法——迹忆客-ag捕鱼王app官网
语法定义了编写程序的一组规则。 每种语言规范都定义了自己的语法。
一个 javascript 程序可以由以下几部分组成
- 变量 - 表示可以存储程序值的命名内存块。
- literals - 表示常量/固定值。
- 运算符 - 定义如何处理操作数的符号。
- 关键字 - 在语言上下文中具有特殊含义的单词。
下表列出了 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 |
- 模块 - 表示可以跨不同程序/脚本重用的代码块。
- comments - 用于提高代码的可读性。 javascript 引擎会忽略这些。
- 标识符 - 这些是程序中元素的名称,如变量、函数等。标识符的规则是 -
- 标识符可以包括字符和数字。 但是,标识符不能以数字开头。
- 标识符不能包含特殊符号,下划线 (
_
) 或美元符号 ($
) 除外。 - 标识符不能是关键字。 它们必须是独一无二的。
- 标识符区分大小写。 标识符不能包含空格。
下表说明了一些有效和无效的标识符。
有效标识符示例 | 无效标识符示例 |
---|---|
firstname | var# |
first_name | first name |
num1 | first-name |
$result | 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) 功能分为三组 -
- for shipping - 这些是 v8 认为稳定的功能。
- staged features - 这些几乎是已完成的功能,但 v8 团队认为这些功能并不稳定。
- in progress - 这些功能应该仅用于测试目的。
第一类功能是完全支持的,默认情况下由节点打开。 暂存功能需要运行环境- - harmony 标志才能执行。
严格模式
ecmascript 规范的第五版引入了严格模式。 严格模式对 javascript 施加了一层约束。 它对普通的 javascript 语义做了一些更改。
通过包含以下内容,可以将代码转换为在严格模式下工作
// 严格模式语法
"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在声明组件之前使用该组件。 但是,提升的概念不适用于以严格模式运行的脚本。
在后续章节中解释了变量的提升和函数提升。