JS中三个点(...)是什么鬼? 您所在的位置:网站首页 两点跟三点什么意思 JS中三个点(...)是什么鬼?

JS中三个点(...)是什么鬼?

2024-05-24 16:45| 来源: 网络整理| 查看: 265

我们在看js代码时经常会出现(...)三个点的东西,它究竟是什么意思?又有何用处? 下面我就给大家分享一下三个点的那些事

什么意思?

三个点(...)真名叫扩展运算符,是在ES6中新增加的内容,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开

字面量一般指[1,2,3]或者{name:'chuichui'}这种简洁的构造方式,多层嵌套的数组和对象三个点就无能为力了

说白了就是把衣服脱了,不管是大括号([])、花括号({}),统统不在话下,全部脱掉脱掉!

// 数组 var number = [1,2,3,4,5,6] console.log(...number) //1 2 3 4 5 6 //对象 var man = {name:'chuichui',height:176} console.log({...man}) / {name:'chuichui',height:176} 有什么用?

它的用处很广泛,我们随处都可以看到,下面是几个常见的例子

复制用它 //数组的复制 var arr1 = ['hello'] var arr2 =[...arr1] arr2 // ['hello'] //对象的复制 var obj1 = {name:'chuichui'} var obj2 ={...arr} ob12 // {name:'chuichui'} 合并用它 //数组的合并 var arr1 = ['hello'] var arr2 =['chuichui'] var mergeArr = [...arr1,...arr2] mergeArr // ['hello','chuichui'] // 对象分合并 var obj1 = {name:'chuichui'} var obj2 = {height:176} var mergeObj = {...obj1,...obj2} mergeObj // {name: "chuichui", height: 176} 字符转数组用它 var arr1 = [...'hello'] arr1 // ["h", "e", "l", "l", "o"] 函数传参用它

可以和正常的函数相结合,灵活使用

function f(v,w,x,y,z){ } var args = [2,3] f(1,...args,4,...[5])

当我们想把数组中的元素迭代为函数参数时,用它!

function f(x,y,z){} var args = [1,2,3] f(...args) // 以前的方法 f.apply(null,args);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有