javascript深入理解作用域(JavaScript中三个点...)
三个点(...)是扩展运算符,是ES6语法,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开说白了就是把数组中大括号([])、对象中花括号({})去掉,下面我们就来说一说关于javascript深入理解作用域?我们一起去了解并探讨一下这个问题吧!
javascript深入理解作用域
三个点(...)是扩展运算符,是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"]
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com