# > Rest and Spread 操作符: 用来声明任意数量的方法参数
使用方法如下:
* **传入任意多的参数**
![](https://img.kancloud.cn/74/cb/74cbea9314b4ec76e9790c3e44f9f792_397x269.png)
* **当传入参数固定, 调用方法传入实例**
![](https://img.kancloud.cn/23/ae/23ae5d2be799583ba8c48a4edaac0d99_377x243.png)
*****
# > generator函数: 控制函数的执行过程,手动暂停和恢复代码执行
1. **使用关键字 yield**
2. **将方法声明成变量 然后调用 next()**
3. **使用function* 声明**
![](https://img.kancloud.cn/f4/9b/f49b9a1b38ce3b75945e7ca25856a2a9_295x356.png)
*****
# > destructuring析构表达式: 通过表达式将对象或数组拆解成任意数量的变量
![](https://img.kancloud.cn/b7/95/b795575381d77fa25efdbec3cec18ec7_349x179.png)
**给属性起别名**
![](https://img.kancloud.cn/b7/82/b7822ed4341b292f434fcfcdcf92f9e8_405x286.png)
**嵌套获取属性**
![](https://img.kancloud.cn/ec/06/ec066b863e4deddddf42392789dc5f41_418x356.png)
**针对数组的析构表达式 采用[] 对象的析构表达式采用{}**
![](https://img.kancloud.cn/73/d1/73d193a8e62e9ff64d2f7df8a568f623_378x198.png)
**结合Rest and Spread 操作符使用**
![](https://img.kancloud.cn/48/32/483267bc2b5cd10cc027b0622ec058dc_373x150.png)