一,拓展运算符(...)

拓展运算符(...):它会以参数序列的形式输出,更白话讲,比如数组,它可以把数组里面的东西一个一个的输出出来,例如

1 let arr1 =["你","好","V","U","E",1,2]
2 console.log(...arr1,"--------arr1拓展结果")

二,拓展运算符的使用场景

场景一:合并

拓展运算符是可以把两个数组进行合并,例如:

    //数组的合并
1 let arr1 = [0, 1, 2]; //数组1
2 let arr2 = [3, 4, 5, 6]; //数组2
3 let result = [...arr1, ...arr2]; //合并结果
4 console.log(result,"拓展运算符的合并数组结果"); //输出

场景二:数组分割

数组分割:例如下面的例子中,

1     // 数组的分割
2 let [arr1,...arr2] = [1,2,3,4,5,6]
3 console.log("arr1的结果",arr1); //arr1 输出结果是1
4 console.log("arr2的结果",arr2); //arr2 输出结果是一个数组[2,3,4,5,6]
5 console.log("...arr2拓展运算符的结果",...arr2); //...arr2 拓展运算符 输出结果是 2,3,4,5,6

场景三:拷贝

数组拷贝:深拷贝 浅拷贝我这两个还没搞明白,但这里的拷贝,我就单纯的理解为 把一个数组的值 复制 给 另外一个数组 例如:

1     let arr1 = [1,2,3]
2 let arr2 = [...arr1]
3 console.log("arr1的结果是:",arr1); //arr1的输出结果是[1,2,3]
4 console.log("arr2的结果是:",arr2); //arr2的输出结果是[1,2,3]
5 console.log("arr1与arr2是否一样:",arr1===arr2); //输出false

也许有人会有疑问,为什么arr1===arr2为false呢,这个我还得研究研究,我问一个大哥,大哥说是地址不一样了,我得去好好理解下这个地址是什么意思

场景四:对象的使用

拓展运算符也可以针对对象使用,例如:

       // 对象
let {x,y,...z} = {x:1,y:2,a:3,b:4} //let{x,y,...z} 这个的意思是解构 如果不太熟悉的话可以去了解了解
console.log("x是什么:",x); //输出1
console.log("y是什么:",y); //输出2
console.log("z是什么:",z); //输出{a:3,b:4}
console.log("...z拓展运算符是什么:",...z); //输出不出来 控制台打印不出来 应该是不可以这样写

对于拓展运算符我也只暂且了解这么些啦,有补充的可以给我留言,前端的小伙伴们,我们一起加油!

1_ES6中拓展运算符的使用的更多相关文章

  1. 关于java中自增,自减,和拓展运算符的小讨论

    java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...

  2. es6函数的rest参数和拓展运算符(...)的解析

    es6的新特性对函数的功能新增加了rest参数和...的拓展运算符.这是两个什么东西呢? 先来看一个问题:如何获取一个函数除了定义的参数之外的其他参数?传统的做法是借助函数的arguments关键字来 ...

  3. 通过四个例子理解JavaScript拓展运算符

    原文地址:JavaScript & The spread operator 拓展运算符看起来像什么? 三个点,... 它能做什么? 拓展运算符允许一个表达式在某个地方展开成为多个元素.变量或参 ...

  4. python中的运算符及表达式及常用内置函数

    知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...

  5. es6入门6--数组拓展运算符,Array.from()基本用法

    本文只是作为ES6入门第九章学习笔记,在整理知识点的同时,会加入部分个人思考与解答,若想知道更详细的介绍,还请阅读阮一峰大神的ES6入门 一.拓展运算符 ES6中新增了拓展运算(...)三个点,它的作 ...

  6. (转)JavaScript中的运算符优先级

    JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...

  7. JavaScript中“typeof”运算符与“instanceof”运算符的差异

    在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了 ...

  8. C++中的运算符重载注意事项

    1.C++中的运算符重载的方式有三种: a.类成员函数重载 b.友元函数重载 c.普通函数重载 注意: a.我们主要使用的方式主要是用:类成员函数和友元函数来实现运算符的重载. b.其实用普通函数理论 ...

  9. JavaScript中的运算符种类及其规则介绍

    JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...

随机推荐

  1. 2.asyncio快速上手

      事件循环:可以理解成一个死循环,去检测并执行某些代码 import asyncio # 去生成或者获取一个事件循环 loop = asyncio.get_event_loop() # 将任务放到事 ...

  2. Golang 和 Python 随机生成N位字符串

    Golang: func RandomString(n int) string { var letters = []byte("ABCDEFGHIGKLMNOPQRSTUVWXYZabcde ...

  3. 出现The server time zone value ‘�й���׼ʱ��‘ is unrecognized的解决方法

    使用mybatis链接数据库时出现如下错误, The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha ...

  4. 全球名校AI课程库(38)| 马萨诸塞大学 · 自然语言处理进阶课程『Advanced Natural Language Processing』

    课程学习中心 | NLP课程合辑 | 课程主页 | 中英字幕视频 | 项目代码解析 课程介绍 自然语言处理 (NLP) 是一门关于如何教计算机理解人类语言的工程艺术和科学.NLP 作为一种人工智能技术 ...

  5. JS数据结构与算法-栈结构

    一.认识栈结构 栈也是一种非常常见的数据结构,并且在程序中的应用非常广泛 数组 我们知道数组是一种线性结构,并且可以在数组的任意位置插入和删除数据. 但是有时候,我们为了实现某些功能,必须对这种任意性 ...

  6. 【Zulip】邮件系统配置

    通过docker-compose(docker-zulip)部署Zulip实例时需要配置邮件系统 SETTING_ZULIP_ADMINISTRATOR: '...@qq.com' SETTING_E ...

  7. 图解ReentrantLock底层公平锁和非公平锁实现原理

    在面试或者日常开发当中,经常会遇到公平锁和非公平锁的概念. 两者最大的区别如下 1️⃣ 公平锁:N个线程去申请锁时,会按照先后顺序进入一个队列当中去排队,依次按照先后顺序获取锁.就像下图描述的上厕所的 ...

  8. Go语言核心36讲29

    在上篇文章中,我们主要说的是互斥锁,今天我和你来聊一聊条件变量(conditional variable). 前导内容:条件变量与互斥锁 我们常常会把条件变量这个同步工具拿来与互斥锁一起讨论.实际上, ...

  9. 【云原生 · Kubernetes】部署博客系统

    [云原生 · Kubernetes]Kubernetes运维 接着上次的内容,后续来了! (1)配置NFS服务 master节点安装NFS与RPC服务: # yum install -y nfs-ut ...

  10. 写一个frida通杀脚本

    1. 前言 过年对我来说和平常没什么区别,该干什么干什么. 之前没接触过 frida 这个工具,前几天用了一些时间学习了一下,相比于 xposed hook 框架,frida 相对于调试方面真的很方便 ...