扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值
-
数组
let arr1 = [1,2,3,4] let arr2 = [2,3,4,5] console.log(...arr1) console.log(...arr1,...arr2) //使用扩展运算符将arr1和arr2放入同一个数组中
-
函数
function sum(...num) { // 使用扩展运算符 将实参传进来 return num.reduce((one, two)=>{ return one + two }) } console.log(sum(1,2,3,4,5))
-
构造字面量对象使用的语法
let person = {name:'lili', age: 18} // console.log(...person) 直接报错 先要像是对象 必须在赋值并用花括号 let person2 = {...person} //克隆对象 console.log(person2) // {name: "lili", age: 18} let person3 = {...person, name: 'jack',add:'男'} // 克隆并修改 console.log(person3) //{name: "jack", age: 18,add: "男"} console.log(person) // {name: "lili", age: 18} // 将字符串转换为数组 console.log([...'good']) //["g", "o", "o", "d"] console.log([...'你好']) //["你", "好"]
-
赋值
const [a, ...b] = [1, 2, 3, 4, 5] console.log(a) // 1 console.log(b) // [2, 3, 4, 5]
-
注意点 扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
const [...num, b] = [1, 2, 3, 4, 5]; // 报错 const [a, ...num, b] = [1, 2, 3, 4, 5]; // 报错