展开运算符语法上和rest参数类似,也是3个点,可以将一个数组转换为各个独立的参数,也可用于取出对象的所有可遍历属性,而rest参数是指定多个独立的参数,并通过整合后的数组来访问。
- 提取数组中的值
function sum(a, b, c) {
return a + b +c
}
let arr = [1, 2, 3]
sum(...arr)
上述代码用展开运算符提取数组arr中的值,并传入sum()函数中。
- 复制数组
let arr1 = [1, 2, 3]
let arr2 = arr1 // arr1和arr2是同一个数组对象
let arr3 = [...arr1] // arr3和arr是两个不同的数组对象
- 合并数组
let arr1 = ['a']
let arr2 = ['b', 'c']
console.log([...arr1, ...arr2]) // ['a', 'b', 'c']
- 取出对象的所有可遍历属性,复制到当前对象中
let book = {
title: '标题',
price: 100
}
let bookDetail = {...book, desc: 'vue学习'}
console.log(bookDetail) // {title: '标题', price: 100, desc: 'vue学习'}
网友评论