es6三个点扩展spread运算符和rest运算符

扩展运算符

对象中的扩展运算符用于取出参数对象中的所有可遍历属性,拷贝到当前对象中。

let value={a:1,b:2};
let value1={…value}

等价于:

let value={a:1,b:2};
let value1=Object.assign({},value)

(拷贝的是原对象的引用,原对象改变时,拷贝对象也会改变)

扩展运算符运用:

1. 将数组转换为参数序列
add=(x,y)=>{
return x+y
}

const num=[1,2]
add(…num)

2. 复制数组
const arr1=[1,2]
const arr2=[…arr]

3.扩展运算符可以把字符串转换成数组
[…’hello’]
// [ “h”, “e”, “l”, “l”, “o” ]

rest运算符与应用

rest运算符与扩展运算符作用相反,把逗号隔开的值序列拼成一个数组

1.利用结构合成数组,代替push将一个数组添加到另一个数组的尾部

但是rest运算符用于生成数组只能是参数的最后一位
const […rest, last] = [1, 2, 3, 4, 5];
// 报错
const [first, …rest, last] = [1, 2, 3, 4, 5];
// 报错

总结:等号左边是rest运算符,等号右边是扩展运算符

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理