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

扩展运算符

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

let value={a:1,b:2};
let value1={...value}数组

等价于:rest

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

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

扩展运算符运用:

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

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将一个数组添加到另外一个数组的尾部co

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

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

相关文章
相关标签/搜索