mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-25 11:12:21 +00:00
docs: edit reflect & destructuring
This commit is contained in:
parent
90df0a9236
commit
0af61084ee
@ -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});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
// 新写法
|
// 新写法
|
||||||
|
Loading…
x
Reference in New Issue
Block a user