…剩余参数运算符
为了接收所有参数
普通函数可以通过
arguments
获取全部参数,箭头函数没有arguments
用于函数形参,必须放在形参最后一个!
- 一般配合箭头函数, 因为箭头函数内不能用
arguments
- 必须出现在形参的最后面
function youSum (a, ...args) {
console.log(a, args)
}
youSum(5, 10) //5 [10]
youSum(5, 100, 200, 300) //5 [100,200,300]
youSum(5, 100, 200, 300, 400) //5 [100,200,300,400]
let mySum = (...args) => {
console.log(args)
}
mySum(10, 20, 30, 40) //[10, 20, 30, 40]
…展开运算符
用于数组[]
或对象{}
中, 可以将数组的项或对象的键值对展开
展开数组
let arr = [1, 3, 5, 7]
console.log(...arr) // 打印数组的每一项 1,3,5,7
拼接两个数组
let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let newArr = [...arr1, ...arr2]
求数组最大值
let arr = [3, 100, 20]
let max = Math.max(...arr3)
展开对象
let obj1 = {
name: 'Liao',
age: 18,
}
let obj2 = {
money: 10000000000,
car: "没有"
}
// 相当于快速浅拷贝
let obj3 = {
...obj1,
...obj2,
name: 'liao'
}
//obj3 === {name: 'Liao',age: 18,money: 10000000000,car: "没有",name: 'liao'}
//obj3的name属性放到...obj2前面,name属性则会被覆盖
发表回复