首页 > 其他分享 >4.19

4.19

时间:2024-06-18 20:31:50浏览次数:23  
标签:... name 4.19 数组 arr1 var chuichui

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

 

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

什么意思?

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

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

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

1 2 3 4 5 6 // 数组 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}

有什么用?

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

复制用它

1 2 3 4 5 6 7 8 //数组的复制 var arr1 = ['hello'] var arr2 =[...arr1] arr2 // ['hello'] //对象的复制 var obj1 = {name:'chuichui'} var obj2 ={...arr} ob12 //  {name:'chuichui'}

合并用它

1 2 3 4 5 6 7 8 9 10 //数组的合并 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}

字符转数组用它

1 2 var arr1 = [...'hello'] arr1 // ["h", "e", "l", "l", "o"]

函数传参用它

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

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

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

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

标签:...,name,4.19,数组,arr1,var,chuichui
From: https://www.cnblogs.com/binglinll/p/18255074

相关文章

  • GB28181安防视频系统EasyCVR报错version`GLIBCXX_3.4.19'not found如何处理?
    多协议接入/GB28181/GAT1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘......
  • 4.19
    进入正题,在使用sqlite的过程中,我遇到了插入图片失败的问题,查了不少资料,才知道sqlite不能直接存入.jpg还有.png之类的文件,需要以二进制的形式存储在sqlite中,这也是为什么上面说的sqlite不适合大规模数据存储,是一个轻量级数据库。我用下面代码来进一步说明要用到的方法以及部分名词......
  • 2024.4.19(周五)构建之法阅读笔记2
    第四章两人合作在代码规范方面,可以分为两个部分:代码风格规范和代码设计规范。代码风格规范主要是缩进、行宽、括号、断行与空白的{}行、分行、命名、下划线、大小写、注释等;建民老师上课主要强调的是缩进、命名和注释。在代码设计规范方面,主要是函数、goto错误处理、类处理等。......
  • 4.19第二天冲刺
    晨会1.人员:袁兴兰、齐飞跃、王瑞2.会议讨论袁兴兰:1)昨天完成寻找免费api,完成博客的整理2)今天打算收集数据,美化页面3)没有遇到问题齐飞跃:1)昨天学习调用第三方库或第三方api2)今天完成优化api返回的结果3)没有遇到问题王瑞:1)昨天......
  • 4.19第二天冲刺
    晨会1.人员:袁兴兰、齐飞跃、王瑞2.会议讨论袁兴兰:1)昨天完成寻找免费api,完成博客的整理       2)今天打算收集数据,美化页面       3)没有遇到问题齐飞跃:1)昨天学习调用第三方库或第三方api        2)今天完成优化api返回的结果  ......
  • 2024.04.19每日收获之链表与逻辑操作
    今日处理工作时遇到了一个问题,操作非连发按键时也会唤醒机器,但不会有连发动作,查看代码了解到也是历史遗留问题。它采用掩码形式,将多个按键键值或运算到一起,最后在与收到的按键值与运算来查看该按键是否可以连发,这样有一个弊端,即多个按键的按键值占用多个位,会导致非连发按键的键值......
  • 2024.4.19
    2024.4.19【你知道的都是真相。只可惜那些并不是真相的全部。】Friday三月十一谷雨<BGM="谷雨--音阙诗听">AC:AnswerCoarse,粗劣的答案​CE:CompileEasily,轻松通过​PC:PerfectCompile完美的编译​WA:WonderfulAnswer,好答案​RE:RunExcellently,完......
  • Rockchip RK3399 - linux-headers制作(linux 4.19)
    linux-headers(内核头文件)包含各种头文件,可以让设备具有本地编译驱动的能力。一、制作linux-headers这一节我们借助friendly提供的工具来编译linux-headers,编译的内核的内核也是friendly提供的linux4.19版本。1.1下载工具和固件root@zhengyang:/work/sambashare/rk3399/frien......
  • openeuler linux内核4.19安装(centos 同理)
    linux内核安装:安装内核步骤下载相应内核版本【我这里用的是linux-4.19.90.tar.gz】下载网址:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/解压缩到自定位置【我这里是/root/桌面/send/】安装内核图像界面依赖【已安装则跳过】 yuminstallncurses-deve......
  • 第一课:linux设备树的引入与体验(基于linux4.19内核版本)
    交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V12020韦东山技术文档本套视频面向如下三类学员:有Linux驱动开发基础的人,可以挑感兴趣的章节观看;没有Linux驱动开发基础但是愿意学习的人,请按......