展开运算符

174 阅读1分钟

展开运算符(...)

运用场:1:引用数据类型直接赋值时,是赋值一个地址,其中一个修改,另一个也会修改,因此可以使用展开运算符。

//定义一个数组arr1
let arr1 = [18, 20, 47]
//把数组arr1赋值给数组arr2
let arr2 = arr1
//修改数组arr2其中的一个元素时
arr2[0] = 10000
//打印出数组arr1,arr1
console.log(arr1);  //[10000, 20, 47]

使用展开运算符

//展开数组arr1里面的元素赋值给arr2
let arr2 = [...arr1]
//修改arr2的元素
arr2[0] = 10000
console.log(arr2); //[10000, 20, 47]
//此时的arr1不会被修改
console.log(arr1); //[18, 20, 47]

使用场景2:用数学对象方法求出数组中的最大值

let arr = [1, 2, 3, 4, 5]
 // 数学方法里面不能带[]
console.log(Math.max(arr)); //NaN
 // 需要得到数组里面的数据就要展开数组
console.log(Math.max(...arr)); //5