- ES6 教程
- ES6 - 首页
- ES6 - 概述
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策语句
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面跳转
- ES6 - 对话框
- ES6 - void关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - Symbol
- ES6 - 新的字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - Map和Set
- ES6 - Promise
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图片地图
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用资源
- ES6 - 讨论
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在声明组件之前使用它。但是,提升的概念不适用于在严格模式下运行的脚本。
变量提升和函数提升将在后续章节中解释。