zoukankan      html  css  js  c++  java
  • 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];
        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.等号左边是变量名,等号右边不能全是变量名
                 2.如何有嵌套格式,只需要左右两侧格式一致即可
                 3.等号左边赋值初始值,如果想要拿到初始值,只需要右侧的变量名不匹配即可

    (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);//{name:'25',age:10} 12 undeifined
    3、对象的解构赋值
        // var {a,b,c}={a:{d:'123'},'b':'124',c:'sda'}
        // console.log(a,b,c)
        // var {a,b,c} = {'a':'123','b':23,'c':'asdads'}
        // console.log(a,b,c)
        // let {a:b} = {'b':2};
        // // console.log(a)//not defined
        // console.log(b)//underfimed
        // let{a:b} = {'a':3}
        // console.log(a)//not defined
        // console.log(b)//3

    (4).允许设定默认值

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

    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 e
        console.log(d1);//l
  • 相关阅读:
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局。
    JavaScript Array Reduce用于数组求和
    【Angular5】 返回前一页面 go back to previous page
  • 原文地址:https://www.cnblogs.com/guirong/p/13592440.html
Copyright © 2011-2022 走看看