1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-25 03:02:21 +00:00

docs: edit reflect & destructuring

This commit is contained in:
ruanyf 2017-06-23 16:30:19 +08:00
parent 90df0a9236
commit 0af61084ee
2 changed files with 7 additions and 6 deletions

View File

@ -14,7 +14,7 @@ let b = 2;
let c = 3; let c = 3;
``` ```
ES6允许写成下面这样。 ES6 允许写成下面这样。
```javascript ```javascript
let [a, b, c] = [1, 2, 3]; let [a, b, c] = [1, 2, 3];
@ -348,10 +348,11 @@ let x;
// SyntaxError: syntax error // SyntaxError: syntax error
``` ```
上面代码的写法会报错因为JavaScript引擎会将`{x}`理解成一个代码块从而发生语法错误。只有不将大括号写在行首避免JavaScript将其解释为代码块才能解决这个问题。 上面代码的写法会报错,因为 JavaScript 引擎会将`{x}`理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,避免 JavaScript 将其解释为代码块,才能解决这个问题。
```javascript ```javascript
// 正确的写法 // 正确的写法
let x;
({x} = {x: 1}); ({x} = {x: 1});
``` ```

View File

@ -415,19 +415,19 @@ Reflect.isExtensible(1) // 报错
var myObject = {}; var myObject = {};
// 旧写法 // 旧写法
Object.isExtensible(myObject) // true Object.preventExtensions(myObject) // Object {}
// 新写法 // 新写法
Reflect.preventExtensions(myObject) // true Reflect.preventExtensions(myObject) // true
``` ```
如果参数不是对象,`Object.isExtensible`在 ES5 环境报错,在 ES6 环境返回这个参数,而`Reflect.preventExtensions`会报错。 如果参数不是对象,`Object.preventExtensions`在 ES5 环境报错,在 ES6 环境返回传入的参数,而`Reflect.preventExtensions`会报错。
```javascript ```javascript
// ES5 // ES5 环境
Object.preventExtensions(1) // 报错 Object.preventExtensions(1) // 报错
// ES6 // ES6 环境
Object.preventExtensions(1) // 1 Object.preventExtensions(1) // 1
// 新写法 // 新写法