zoukankan      html  css  js  c++  java
  • ES6 解构赋值

    ES6 解构赋值

    定义:从数组和对象中提取值,对变量进行赋值

    1、数组的解构赋值

    1.解构赋值可以嵌套

    let [a,[b,c],[d,e]] = [11,[12,13],[14,15]];
        console.log(a,b,c,d,e);//11,12,13,14,15
    

      

    2.不完全解构

    当左边的模式(你可以理解为格式)与右边不完全一样的时候,那么赋值过程中,只会给模
    式匹配成功的部分的变量赋值。

    let [a,b,c] = [1,2,3,4];
        console.log(a,c,b);//1,2,3
    

    3.赋值不成功,变量的值为undefined

    解构不成功,变量的值就等于undefined。相当于只声明了变量c,但是没赋值。

        let [a, b, c] = [1, 2];
        console.log(a, c, b);//1,undefined,2
    

    2、对象的解构赋值

     1.解构赋值可以嵌套

    // var a = {name:'25',age:10};
        // var {a,b,c} = {'a':{name:'25',age:10},'b':12,"c":3};
        // console.log(a,b,c);
    

      

    2.不完全解

    当左边的模式(你可以理解为格式)与右边不完全一样的时候,那么赋值过程中,只会给模式匹配成功的部分的变量赋值,

    var {a,b,c} = {'a':{name:'25',age:10},'b':12};
        console.log(a,b,c);//对象 12 undeifined
    

      

    3.

    // var {a:b} = {a:'2'}
        // console.log(b)//2
    
        // var {b:a} = {'b':2}
    
        // console.log(a);
        // console.log(b);//not difined
    
        // var {b:{c}} = {'b':{c:3}};//只取结果
        // console.log(c);
      var {a,b,c} = {'a':{name:'25',age:10},'b':12};
        console.log(a,b,c);//对象 12 undeifined

      

     

    4.允许设定默认值

    var { a, b = 2 } = { 'a': 1}
        console.log(a, b);//1,2
    

      

    总结:1.等号左边是变量名,等号右边不能全是变量名
                 2.如何有嵌套格式,只需要左右两侧格式一致即可
              3.等号左边赋值初始值,如果想要拿到初始值,只需要右侧的变量名不匹配即可

    3、字符串的解构赋值

    var str = 'tangwen';
        //赋值
        let [a,b,c,d,e,f,g] = str;
        console.log(a,b,c,d,e,f,g);//t a n g w e n
        let [a1,b1,c1,d1,e1,f1,g1] = 'we lcome';
        console.log(a1,b1,c1,d1,e1,f1,g1);//w e   l c o m
        console.log(d1);//l
    

      

  • 相关阅读:
    vim命令大全
    docer中运行crontab
    基于预加载的热区域数据的简单设计
    解析Health端点数据获取异常数据
    微服务链路调用耗时示例图
    Spring Cloud health节点通过注册中心扫描状态的简单实现
    转载:Service Mesh:重塑微服务市场--敖小剑
    Springboot统一参数验证方式
    Spirng boot 启动的时候进行监控检查不通过停止服务与自定义健康监控节点
    准备 Python3 和 Python 虚拟环境
  • 原文地址:https://www.cnblogs.com/wenaq/p/13589949.html
Copyright © 2011-2022 走看看