1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-29 22:12:21 +00:00

docs(object): add object spread #517

This commit is contained in:
ruanyf 2017-10-11 12:19:43 +08:00
parent 1ac918c804
commit f6c7ded8da

View File

@ -1297,7 +1297,7 @@ x.a.b // 2
上面代码中,`x`是解构赋值所在的对象,拷贝了对象`obj``a`属性。`a`属性引用了一个对象,修改这个对象的值,会影响到解构赋值对它的引用。 上面代码中,`x`是解构赋值所在的对象,拷贝了对象`obj``a`属性。`a`属性引用了一个对象,修改这个对象的值,会影响到解构赋值对它的引用。
另外,解构赋值不会拷贝继承自原型对象的属性。 另外,扩展运算符的解构赋值,不能复制继承自原型对象的属性。
```javascript ```javascript
let o1 = { a: 1 }; let o1 = { a: 1 };
@ -1322,7 +1322,7 @@ y // undefined
z // 3 z // 3
``` ```
上面代码中,变量`x`是单纯的解构赋值,所以可以读取对象`o`继承的属性;变量`y``z`双重解构赋值,只能读取对象`o`自身的属性,所以只有变量`z`可以赋值成功。 上面代码中,变量`x`是单纯的解构赋值,所以可以读取对象`o`继承的属性;变量`y``z`扩展运算符的解构赋值,只能读取对象`o`自身的属性,所以变量`z`可以赋值成功,变量`y`取不到值
解构赋值的一个用处,是扩展某个函数的参数,引入其他操作。 解构赋值的一个用处,是扩展某个函数的参数,引入其他操作。