• 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行

  • 相关阅读:
    TEMU平台要求电子产品提供的UL测试报告如何办理?
    win10安装.net3.5
    复习单片机:8*8点阵--->点亮第一个点(内含:1LED 点阵介绍+2 硬件设计+3 软件设计+4.原始代码+5 实验现象)
    【C++】:类和对象(1)
    Databend 开源周报第 134 期
    DataGrip数据仓库工具
    计算机视觉基础学习-图像拼接
    【智能AI相机】基于AI的新型成像和照明技术
    合同法重点笔记经典版
    【题解 && 动态规划】 Colored Rectangles
  • 原文地址:https://blog.csdn.net/qq_45547094/article/details/126967006