File tree Expand file tree Collapse file tree 2 files changed +15
-27
lines changed Expand file tree Collapse file tree 2 files changed +15
-27
lines changed Original file line number Diff line number Diff line change @@ -42,53 +42,35 @@ ECMA的第39号技术专家委员会(Technical Committee 39,简称TC39)负
42
42
43
43
各大浏览器的最新版本,对ES6的支持可以查看[ kangax.github.io/es5-compat-table/es6/] ( http://kangax.github.io/es5-compat-table/es6/ ) 。随着时间的推移,支持度已经越来越高了,ES6的大部分特性都实现了。
44
44
45
- Node.js和io.js(一个部署新功能更快的Node分支)是JavaScript语言的服务器运行环境。它们对ES6的支持度,比浏览器更高。通过它们,可以体验更多ES6的特性。
46
-
47
- 建议使用版本管理工具[ nvm] ( https://github.com/creationix/nvm ) ,来安装Node.js和io.js。不过,nvm不支持Windows系统,下面的操作可以改用[ nvmw] ( https://github.com/hakobera/nvmw ) 或[ nvm-windows] ( https://github.com/coreybutler/nvm-windows ) 代替。
45
+ Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高。通过Node,可以体验更多ES6的特性。建议使用版本管理工具[ nvm] ( https://github.com/creationix/nvm ) ,来安装Node,因为可以自由切换版本。不过,` nvm ` 不支持Windows系统,下面的操作可以改用[ nvmw] ( https://github.com/hakobera/nvmw ) 或[ nvm-windows] ( https://github.com/coreybutler/nvm-windows ) 代替。
48
46
49
47
安装nvm需要打开命令行窗口,运行下面的命令。
50
48
51
49
``` bash
52
50
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/< version number> /install.sh | bash
53
51
```
54
52
55
- 上面命令的` version number ` 处,需要用版本号替换。本节写作时的版本号是` v0.25.4 ` 。
53
+ 上面命令的` version number ` 处,需要用版本号替换。本节写作时的版本号是` v0.29.0 ` 。该命令运行后, ` nvm ` 会默认安装在用户主目录的 ` .nvm ` 子目录 。
56
54
57
- 该命令运行后, ` nvm ` 会默认安装在用户主目录的 ` .nvm ` 子目录。 然后,激活` nvm ` 。
55
+ 然后,激活` nvm ` 。
58
56
59
57
``` bash
60
58
$ source ~ /.nvm/nvm.sh
61
59
```
62
60
63
- 激活以后,安装Node或io.js的最新版 。
61
+ 激活以后,安装Node的最新版 。
64
62
65
63
``` bash
66
64
$ nvm install node
67
- # 或
68
- $ nvm install iojs
69
65
```
70
66
71
- 安装完成后,就可以在各种版本的node之间自由切换 。
67
+ 安装完成后,切换到该版本 。
72
68
73
69
``` bash
74
- # 切换到node
75
70
$ nvm use node
76
-
77
- # 切换到iojs
78
- $ nvm use iojs
79
71
```
80
72
81
- 需要注意的是,Node.js对ES6的支持,需要打开` harmony ` 参数,iojs不需要。
82
-
83
- ```
84
- $ node --harmony
85
- # iojs不需要打开harmony参数
86
- $ node
87
- ```
88
-
89
- 上面命令执行后,就会进入REPL环境,该环境支持所有已经实现的ES6特性。
90
-
91
- 使用下面的命令,可以查看Node.js所有已经实现的ES6特性。
73
+ 使用下面的命令,可以查看Node所有已经实现的ES6特性。
92
74
93
75
``` bash
94
76
$ node --v8-options | grep harmony
@@ -450,7 +432,7 @@ fs.writeFileSync('out.js.map', result.sourceMap);
450
432
** Stage 2** :
451
433
452
434
- es7.exponentiationOperator:指数运算符
453
- - es7.asyncFunctions:ansyc函数
435
+ - es7.asyncFunctions:async函数
454
436
- es7.objectRestSpread:对象的Rest参数和扩展运算符
455
437
456
438
Babel转码器对Stage 2及以上阶段的功能,是默认支持的。对于那些默认没有打开的功能,需要手动打开。
Original file line number Diff line number Diff line change 5
5
ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
6
6
7
7
``` javascript
8
+ // 示例一
8
9
var foo = ' bar' ;
9
10
var baz = {foo};
10
11
// 等同于
11
12
var baz = {foo: foo};
12
13
14
+ baz // Object {foo: "bar"}
15
+
16
+ // 示例二
13
17
function f (x , y ) {
14
18
return {x, y};
15
19
}
16
20
// 等同于
17
21
function f (x , y ) {
18
22
return {x: x, y: y};
19
23
}
24
+
25
+ f (1 , 2 ) // Object {x: 1, y: 2}
20
26
```
21
27
22
- 上面是属性简写的例子 ,方法也可以简写。
28
+ 上面代码表明,ES6允许在对象之中,只写属性名。这时,属性值等于属性名所代表的变量。除了属性简写 ,方法也可以简写。
23
29
24
30
``` javascript
25
31
var o = {
@@ -37,7 +43,7 @@ var o = {
37
43
};
38
44
```
39
45
40
- 下面是一个更实际的例子 。
46
+ 下面是一个实际的例子 。
41
47
42
48
``` javascript
43
49
var Person = {
You can’t perform that action at this time.
0 commit comments