1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

edit intro & object

This commit is contained in:
ruanyf 2015-10-16 07:23:39 +08:00
parent ca88fdd115
commit a484ee945d
2 changed files with 15 additions and 27 deletions

View File

@ -42,9 +42,7 @@ ECMA的第39号技术专家委员会Technical Committee 39简称TC39
各大浏览器的最新版本对ES6的支持可以查看[kangax.github.io/es5-compat-table/es6/](http://kangax.github.io/es5-compat-table/es6/)。随着时间的推移支持度已经越来越高了ES6的大部分特性都实现了。
Node.js和io.js一个部署新功能更快的Node分支是JavaScript语言的服务器运行环境。它们对ES6的支持度比浏览器更高。通过它们可以体验更多ES6的特性。
建议使用版本管理工具[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)代替。
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)代替。
安装nvm需要打开命令行窗口运行下面的命令。
@ -52,43 +50,27 @@ Node.js和io.js一个部署新功能更快的Node分支是JavaScript语言
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/<version number>/install.sh | bash
```
上面命令的`version number`处,需要用版本号替换。本节写作时的版本号是`v0.25.4`
上面命令的`version number`处,需要用版本号替换。本节写作时的版本号是`v0.29.0`。该命令运行后,`nvm`会默认安装在用户主目录的`.nvm`子目录
该命令运行后,`nvm`会默认安装在用户主目录的`.nvm`子目录。然后,激活`nvm`
然后,激活`nvm`
```bash
$ source ~/.nvm/nvm.sh
```
激活以后安装Node或io.js的最新版。
激活以后安装Node的最新版。
```bash
$ nvm install node
# 或
$ nvm install iojs
```
安装完成后,就可以在各种版本的node之间自由切换
安装完成后,切换到该版本
```bash
# 切换到node
$ nvm use node
# 切换到iojs
$ nvm use iojs
```
需要注意的是Node.js对ES6的支持需要打开`harmony`参数iojs不需要。
```
$ node --harmony
# iojs不需要打开harmony参数
$ node
```
上面命令执行后就会进入REPL环境该环境支持所有已经实现的ES6特性。
使用下面的命令可以查看Node.js所有已经实现的ES6特性。
使用下面的命令可以查看Node所有已经实现的ES6特性。
```bash
$ node --v8-options | grep harmony
@ -450,7 +432,7 @@ fs.writeFileSync('out.js.map', result.sourceMap);
**Stage 2**
- es7.exponentiationOperator指数运算符
- es7.asyncFunctionsansyc函数
- es7.asyncFunctionsasync函数
- es7.objectRestSpread对象的Rest参数和扩展运算符
Babel转码器对Stage 2及以上阶段的功能是默认支持的。对于那些默认没有打开的功能需要手动打开。

View File

@ -5,11 +5,15 @@
ES6允许直接写入变量和函数作为对象的属性和方法。这样的书写更加简洁。
```javascript
// 示例一
var foo = 'bar';
var baz = {foo};
// 等同于
var baz = {foo: foo};
baz // Object {foo: "bar"}
// 示例二
function f(x, y) {
return {x, y};
}
@ -17,9 +21,11 @@ function f(x, y) {
function f(x, y) {
return {x: x, y: y};
}
f(1, 2) // Object {x: 1, y: 2}
```
上面是属性简写的例子,方法也可以简写。
上面代码表明ES6允许在对象之中只写属性名。这时属性值等于属性名所代表的变量。除了属性简写,方法也可以简写。
```javascript
var o = {
@ -37,7 +43,7 @@ var o = {
};
```
下面是一个实际的例子。
下面是一个实际的例子。
```javascript
var Person = {