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

fix error

This commit is contained in:
ruanyf 2015-12-04 22:15:13 +08:00
parent 237bb3ce45
commit 4473142341
2 changed files with 23 additions and 29 deletions

View File

@ -215,7 +215,7 @@ $ npm install babel-core@5
下面是`Babel`配合`Browserify`一起使用,可以生成浏览器能够直接加载的脚本。首先,安装`babelify`模块。 下面是`Babel`配合`Browserify`一起使用,可以生成浏览器能够直接加载的脚本。首先,安装`babelify`模块。
```bash ```bash
$ npm install --save-dev babelify babel-preset-2015 $ npm install --save-dev babelify babel-preset-es2015
``` ```
然后再用命令行转换ES6脚本。 然后再用命令行转换ES6脚本。
@ -241,10 +241,10 @@ $ browserify script.js -o bundle.js \
Node脚本之中需要转换ES6脚本可以像下面这样写。 Node脚本之中需要转换ES6脚本可以像下面这样写。
先安装`babel-core``babel-preset-2015`。 先安装`babel-core``babel-preset-es2015`。
```javascript ```javascript
$ npm install --save-dev babel-core babel-preset-2015 $ npm install --save-dev babel-core babel-preset-es2015
``` ```
然后,在项目根目录下新建一个`.babelrc`文件。 然后,在项目根目录下新建一个`.babelrc`文件。
@ -395,7 +395,7 @@ $ npm install -g traceur
安装成功后就可以在命令行下使用traceur了。 安装成功后就可以在命令行下使用traceur了。
traceur直接运行es6脚本文件会在标准输出显示运行结果以前面的calc.js为例。 traceur直接运行es6脚本文件会在标准输出显示运行结果以前面的`calc.js`为例。
```bash ```bash
$ traceur calc.js $ traceur calc.js

View File

@ -137,9 +137,9 @@ fproxy.foo; // 'Hello, foo'
拦截`for (var x in proxy)`,返回一个遍历器。 拦截`for (var x in proxy)`,返回一个遍历器。
**6hasOwn(target, propKey)** **6has(target, propKey)**
拦截`proxy.hasOwnProperty('foo')`,返回一个布尔值。 拦截`in`运算符,返回一个布尔值。
**7ownKeys(target)** **7ownKeys(target)**
@ -820,30 +820,24 @@ var loggedObj = new Proxy(obj, {
## Reflect对象的方法 ## Reflect对象的方法
Reflect对象的方法清单如下。 Reflect对象的方法清单如下共14个
- Reflect.getOwnPropertyDescriptor(target,name)
- Reflect.defineProperty(target,name,desc)
- Reflect.getOwnPropertyNames(target)
- Reflect.getPrototypeOf(target)
- Reflect.setPrototypeOf(target, prototype)
- Reflect.deleteProperty(target,name)
- Reflect.enumerate(target)
- Reflect.freeze(target)
- Reflect.seal(target)
- Reflect.preventExtensions(target)
- Reflect.isFrozen(target)
- Reflect.isSealed(target)
- Reflect.isExtensible(target)
- Reflect.has(target,name)
- Reflect.hasOwn(target,name)
- Reflect.keys(target)
- Reflect.get(target,name,receiver)
- Reflect.set(target,name,value,receiver)
- Reflect.apply(target,thisArg,args) - Reflect.apply(target,thisArg,args)
- Reflect.construct(target,args) - Reflect.construct(target,args)
- Reflect.get(target,name,receiver)
- Reflect.set(target,name,value,receiver)
- Reflect.defineProperty(target,name,desc)
- Reflect.deleteProperty(target,name)
- Reflect.has(target,name)
- Reflect.ownKeys(target)
- Reflect.enumerate(target)
- Reflect.isExtensible(target)
- Reflect.preventExtensions(target)
- Reflect.getOwnPropertyDescriptor(target, name)
- Reflect.getPrototypeOf(target)
- Reflect.setPrototypeOf(target, prototype)
上面这些方法的作用大部分与Object对象的同名方法的作用都是相同的。下面是对其中几个方法的解释。 上面这些方法的作用,大部分与`Object`对象的同名方法的作用都是相同的,而且它与`Proxy`对象的方法是一一对应的。下面是对其中几个方法的解释。
**1Reflect.get(target,name,receiver)** **1Reflect.get(target,name,receiver)**
@ -876,15 +870,15 @@ Reflect.get(obj, "foo", wrapper);
**5Reflect.construct(target, args)** **5Reflect.construct(target, args)**
等同于`new target(...args)`这提供了一种不使用new来调用构造函数的方法。 等同于`new target(...args)`,这提供了一种不使用`new`,来调用构造函数的方法。
**6Reflect.getPrototypeOf(obj)** **6Reflect.getPrototypeOf(obj)**
读取对象的\_\_proto\_\_属性等同于`Object.getPrototypeOf(obj)` 读取对象的`__proto__`属性,对应`Object.getPrototypeOf(obj)`
**7Reflect.setPrototypeOf(obj, newProto)** **7Reflect.setPrototypeOf(obj, newProto)**
设置对象的\_\_proto\_\_属性。注意Object对象没有对应这个方法的方法 设置对象的`__proto__`属性,对应`Object.setPrototypeOf(obj, newProto)`
**8Reflect.apply(fun,thisArg,args)** **8Reflect.apply(fun,thisArg,args)**