JavaScript 展开运算符
2021/4/15 12:28:02
本文主要是介绍JavaScript 展开运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 合并数组
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [...arr1, ...arr2]; console.log(arr3); // [ 1, 2, 3, 4, 5, 6 ]
2. 数组解构赋值
let [arr1, ...arr2] = [1, 2, 3, 4, 5]; console.log(arr1); // 1 console.log(arr2); // [ 2, 3, 4, 5 ]
3. 将类数组或可遍历对象转换为真正的数组
// 这里取到的oDivs是类数组(有length属性) let oDivs = document.getElementsByTagName('div'); console.log(Array.isArray(oDivs)); // false // 转化为真正的数组 oDivs = [...oDivs]; console.log(Array.isArray(oDivs)); // true
4. 替代apply()
let arr = [1, 2]; function sum(a, b) { console.log(a + b); } // 下面两行结果相同 sum.apply(null, arr); // 3 sum(...arr); // 3
5. 合并对象
const obj1 = { a: 1, b: 2 }; const obj2 = { c: 3, d: 4 }; const obj3 = { ...obj1, ...obj2 }; console.log(obj3); // { a: 1, b: 2, c: 3, d: 4 }
6. 对象解构赋值
const obj1 = { a: 1, b: 2 }; const obj2 = { c: 3, d: 4 }; const obj3 = { ...obj1, ...obj2 }; console.log(obj3); // { a: 1, b: 2, c: 3, d: 4 }
7. 数组、对象浅拷贝
用扩展运算符对数组
或者对象
进行拷贝时,是浅拷贝
。只能扩展和深拷贝第一层的值,对于第二层极其以后的值,扩展运算符将不能对其进行打散扩展,也不能对其进行深拷贝,即拷贝后和拷贝前第二层中的对象
或数组
仍然引用的是同一个地址
,其中一方改变,另一方也跟着改变。
const a = [{ a: 1 }, { b: 2 }, { c: 3 }]; const b = [...a]; a[0].a = 0; console.log(a); // [ { a: 0 }, { b: 2 }, { c: 3 } ] console.log(b); // [ { a: 0 }, { b: 2 }, { c: 3 } ]
这篇关于JavaScript 展开运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程