• ES6解构赋值与扩展运算符


    解构赋值

    解构赋值,可以实现直接从数组或者对象中取值赋值给变量

    1. let [变量名, 变量名2, , 变量名4] = [值, 值2, 值3, 值4]
    2. // 相当于
    3. let 变量名 = 数组[0]
    4. let 变量名2 = 数组[1]
    5. let 变量名4 = 数组[3]
    6. let { 变量名, 变量名2 } = { 属性名: "值", 变量名2(本质是属性名): "值" } // 属性名和变量需要相同
    7. let { a, b } = { a: 1, b: 2 }

    解构赋值很容易遇到一种情况,我们要使用的名字和已有变量名冲突(重复)了

    1. let name = "张三"
    2. let {name, age} = {
    3. name: "李四",
    4. age: 18
    5. }
    6. // 因为name已经声明了,所以第三行的name就会报错:变量已经声明
    7. // 我们可以使用别名解决这个问题
    8. let {name: 别名, age} = {
    9. name: "李四",
    10. age: 18
    11. }
    12. // 别名就是变量名

    扩展运算符

    扩展运算的作用可以简单理解为:把数组的中括号,和对象的{}直接去掉。直接去除后,里面的数据格式,我是无法在JS的环境的中独立存在。扩展运算符的操作需要被放置在合适的位置上。

    1. let arr = [1,2,3]
    2. let _arr = [...arr] // [1,2,3] 这是一个浅拷贝过程
    3. let obj = {a: 1, b: 2, c: 3}
    4. let _obj = {...obj} // {a: 1, b: 2, c: 3} 这是一个浅拷贝过程
    5. let arr2 = [...arr, ...arr] // [1,2,3,1,2,3]

    在我们使用map操作时,可以保留原有数据的基础上,添加新的属性

    1. let arr = [{name: "张三"}, {name: "李四"}]
    2. arr.map(stu => {
    3. return {
    4. ...stu,
    5. classroom: "高三11班"
    6. }
    7. })

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

  • 相关阅读:
    三肽Gly-Cys-Gly、88440-55-5
    延时队列DelayQueue的使用
    七天入门node.js(02)
    小游戏在提升用户留存方面的作用
    String的intern()方法详解
    华为机试 - We Are A Team
    springboot足球运动员训练计划管理系统的设计与实现毕业设计源码281444
    Mac可以卸载掉系统自带的软件吗 Mac第三方软件无法卸载是为什么
    有多条业务线,mysql建多库多表比较好还是一个库多个表比较好呢?
    高级 OpenCV:BGR 像素强度图
  • 原文地址:https://blog.csdn.net/qq_45547094/article/details/126967006