ES6展开运算符(...)

展开运算符(…)允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。

函数传参

展开运算符可以展开数组,所以不再需要apply方法,将数组转为函数的参数了

// ES5 的写法
function f(x, y, z) {
 // ...
 }
var args = [0, 1, 2];
 f.apply(null, args);
// ES6 的写法
 function f(x, y, z) {
// ...
 }
var args = [0, 1, 2];
 f(...args);

数据解构

其实就是把数组的每个数据拆开然后放进去
注意:解构赋值中展开运算符只能用在最后

		let arr = ['autumn', 'wscats'];
		// 析构数组
		let y;
		[autumn, ...y] = arr;
		console.log(y) // ["wscats"]

数据构造

两个对象连接返回新的对象

		let x = {
			name: 'autumn'
		}
		let y = {
			age: 18
		}
		let z = {...x,...y}
		console.log(z)

两个数组连接返回新的数组

		let x = ['autumn']
		let y = ['wscats']
		let z = [...x, ...y]
		console.log(z)// ["autumn", "wscats"]

数组加上对象返回新的数组

		let x = [{
			name: 'autumn'
		}]
		let y = {
			name: 'wscats'
		}
		let z = [...x, y];
		console.log(z);

image

数组+字符串

		let x = ['autumn'];
		let y = 'wscats';
		let z = [...x, y];
		console.log(z);

数组+对象

		let x = {
			name: ['autumn','wscats'],
			age:18
		}
		let y = {
			...x,//name: ['autumn','wscats'],age:18
			arr: [...x.name]//['autumn','wscats']
			
		}
		console.log(y)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值