javascript深入理解作用域(JavaScript中三个点...)

三个点(...)是扩展运算符,是ES6语法,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开说白了就是把数组中大括号([])、对象中花括号({})去掉,下面我们就来说一说关于javascript深入理解作用域?我们一起去了解并探讨一下这个问题吧!

javascript深入理解作用域(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

    分享
    投诉
    首页