Back to ECMAScript

See Also JavaScript语言参考Node.js

ECMAScript 6

ECMAScript第六版是JS有史以来最实质的升级,最初称为ECMAScript 6 (ES6),后来更名为ECMAScript 2015 (ES2015)。

新的语言特性涵盖范围甚广,小到受欢迎的语法糖,例如箭头函数(arrow functions)和简单的字符串插值(string interpolation),大到烧脑的新概念,例如代理(proxies)和生成器(generators)。为编写复杂的应用程序(包括类和模块)添加了重要的新语法,但在语义上与ECMAScript 5严格模式相同。它也被称为"ES6 Harmony"。

ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。我们提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

1. Global Objects

1.1. Array

Array 对象是用于构造数组的全局对象,JavaScript 数组则是类似于列表的高阶对象。

1.1.1. Array.prototype.map()

map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

let numbers = [1, 5, 10, 15];
let doubles = numbers.map( x => x ** 2);

// doubles is now [1, 25, 100, 225]
// numbers is still [1, 5, 10, 15]

1.2. String

ES6 加强了对 Unicode 的支持,并且扩展了字符串对象

JavaScript 共有 6 种方法可以表示一个字符

增加3中包含判断方法

模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

1.3. RegExp

RegExp 构造函数创建了一个正则表达式对象,用于将文本与一个模式匹配。

直接量语法: /pattern/attributes

创建RegExp 对象的语法:new RegExp(pattern, attributes);

2. Expressions & Operators

let和const

3. Statements and Declarations

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements

4. Functions

4.1. Arrow Functions

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

箭头函数表达式的语法比函数表达式更短,并且不绑定自己的this,arguments,super或 new.target。这些函数表达式最适合用于非方法函数,并且它们不能用作构造函数。

5. Classes

6. Errors

7. Tools

7.1. Node.js

Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高。通过Node,可以体验更多ES6的特性。建议使用版本管理工具nvm,来安装Node,因为可以自由切换版本。

7.2. Babel

Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。

8. Reference

MainWiki: ECMAScript_6 (last edited 2017-01-03 18:01:16 by twotwo)