网站首页 > 技术文章 正文
三个点(...)是扩展运算符,是ES6语法,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开。说白了就是把数组中大括号([])、对象中花括号({})去掉!
//数组
var nums = [1, 2, 3, 4, 5]
console.log(...nums)
//1 2 3 4 5
//对象
var person = { name: 'A', age: 30 }
console.log({ ...person })
// {name:'A',age:30}
它有什么用呢?
- 数组或对象的复制
//数组的复制
var arr1 = ['hello']
var arr2 = [...arr1]
console.log(arr2)
// ['hello']
//对象的复制
var obj1 = { name: 'A' }
var obj2 = { ...obj1 }
console.log(obj2)
// {name:'A'}
- 数组或对象合并
//数组的合并
var arr1 = ['hello']
var arr2 = ['world']
var mergeArr = [...arr1, ...arr2]
console.log(mergeArr)
// ['hello','world']
// 对象合并
var obj1 = { name: 'A' }
var obj2 = { age: 30 }
var mergeObj = { ...obj1, ...obj2 }
console.log(mergeObj)
// {name: "A", age: 30}
- 字符转数组用它
var arr1 = [...'hello']
console.log(arr1)
// ["h", "e", "l", "l", "o"]
猜你喜欢
- 2024-10-16 JS中(a==1 && a==2 && a==3)可以在JavaScript中计算为“true”吗?
- 2024-10-16 JavaScript 的这个难点,毁掉了多少程序员
- 2024-10-16 前端开发之彻底搞懂this指向(前端this指向问题)
- 2024-10-16 JavaScript中的变量声明和作用域(一)
- 2024-10-16 Top 26 JavaScript面试问题和答案
- 2024-10-16 JS 经典实例知识点整理汇总【实践】
- 2024-10-16 苦恼于JavaScript中的reduce函数?五分钟讲透彻
- 2024-10-16 前端基础:JavaScript(前端基础题)
- 2024-10-16 一句话彻底理解JS中的回调(Callback)函数
- 2024-10-16 面试中被问到最多的 19 个 JavaScript 问题
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)