zoukankan      html  css  js  c++  java
  • ES6解构赋值常见用法

    解构赋值出现的契机:

        let obj = {
            a: 1,
            b: 2
        }
        // 取值
        let a = obj.a
        let b = obj.b
    

    问题核心:

    每次取值既要确定对象属性名,还得重新定义一个变量占用多一行,代码行数和重复的声明a,使得代码不够简洁,能否通过左边变量名,匹配到右边的属性名从而取得对应的值,ES6解构语法核心就基于这样的模式匹配思想
    

    上面的问题解构方案:

        let obj = {
            a: 1,
            b: 2
        }
        // 取值
        let {a, b} = obj
        // a=1 b=2
    
    很明显看到,我们无需在右侧显式声明取值属性名,完全依据右边结构进行对应取值,非常优雅
    

    应用场景:

    1.对象声明解构

        let obj = {
            a: 1,
            b: 2
        }
        // 取值
        let {a, b} = obj
        // a=1 b=2
    

    2.对象赋值解构

        let a, b
        let obj = {
            a: 1,
            b: 2
        }
        // 取值
        ({a, b} = obj)
        // 更常见的场景是变量c d被声明到全局,这种情况在vue很常见,数据被提前声明到data选项,数据访问一般都是this.xxxdata,此时就很有用了
        ({a:c, b:d} = obj)
    

    3.变量交换

        [x,y] = [y,x]
    

    4.数组解构

       let  [first,] = arr//获取 
       let [first, ...rest] = arr//获取第一个,以及剩余参数
    

    5.函数对象实参解构

        function buildAnimal({accessory = "", animal = "cat", color = 'rainbow', hairType = 'straight'} = {})
        {...}
    
  • 相关阅读:
    转:Gerrit 学习
    list, set操作
    Dice chrone execise
    【转】terminal 快捷键
    python package list
    爬虫2
    爬虫 1
    django跨表联查传输数据到前端
    vue实现鼠标移入移出事件
    pycharm意外关闭导致报错Unexpected content storage modification:
  • 原文地址:https://www.cnblogs.com/sefaultment/p/9954654.html
Copyright © 2011-2022 走看看