表示法使用…(三个点),这种表示法为扩展运算符
数组中的应用场景
1,遍历数组
let arr=[10,20,30]
console.log(...arr);//10 20 30
2、当做数组中的元素
let arr_1=[99,...arr,88]
console.log(arr_1);// [99, 10, 20, 30, 88]
3、数组的深拷贝 (重点)
let arr_2=[11,22,33]
let arr_3=[...arr_2]
console.log(arr_2);
arr_3.unshift(1)
console.log(arr_3);
4、函数中的参数
function fn( x,y,z){
console.log( x,y,z);
}
fn(...arr)
5、与解构赋值连用
let [x,y,z]=[...arr]
console.log(x,y,z);
6、将伪数组转换成真正的数组
let str='喜欢玩察言观色'
console.log([...str]);
console.log(Array.from(str));
对象中的应用场景
1,遍历对象
var obj={
name:'name',
age:18
}
console.log({...obj});
深拷贝
var objCopy={...obj}
console.log(objCopy);
objCopy.play='99'
console.log(objCopy);
console.log(obj);
2.合并对象
var one={
a:1,
b:2,
c:9
}
var two={
c:3,
d:4,
...one
}
console.log(two);//{c: 9, d: 4, a: 1, b: 2}