美文网首页
ES6 解构赋值

ES6 解构赋值

作者: 祝名 | 来源:发表于2018-12-14 12:41 被阅读0次

    一.数组解构赋值

    1. 将结构解开,分别赋值。可以利用变量的解构赋值特点,方便的实现两个变量的值的互换。

    • 值的互换
    let x = 1;
    let y = 2;
    [x, y] = [y, x];
    

    2. 遵循“模式匹配” 的原则,只要左右结构格式一致,就能赋值

    let [a,b,c] = [12,5,6];
    let [a,[b,c]] = [1,[2,3]];

    二. 对象解构赋值

    1. 对象解构赋值的时候与顺序无关,只看对应的属性名和变量名。


    url与name是按照属性名进行赋值匹配的
    let json = {
        name:'strive';
        age:18;
    };
    let {name,age} = json;
    console.log(name,age);
    

    2. 解构时也可起别名

    let json = {
        name:'strive';
        age:18;
    };
    let {name:n,age:a} = json;
    console.log(n,a);
    
    将数组中的length属性解构出来

    4. 解构时可以给默认值 let [a,b,c='默认值'] = ['xxx','xxx'];

    let [a,b,c='暂无数据'] = ['aa','bb'];
    console.log(a,b,c);-->输出:aa,bb,暂无数据

    5. null与undefined

    let[a,b='暂无数据'] = [12,undefined];
    -->输出暂无数据
    let[a,b='暂无数据'] = [12,null];
    -->输出null

    6. 封装的函数或数组,直接调用返回值使用即可。

    function getPost(){
        return{
            left:10,
            top:20
    }
    let {left,top:t} = getPost();
    console.log(left,t);
    
    function show({a,b='默认'}){
        console.log(a,b);
    }
    show({a:1});
    -->输出:  1 默认
    

    三. 字符串解构赋值

    let [a,b,c,d] = 'Arya';
    console.log(b);
    -->r
    
    • 也可解构length属性
    let {length:len} = 'abcd';
    console.log(len);
    -->4
    

    相关文章

      网友评论

          本文标题:ES6 解构赋值

          本文链接:https://www.haomeiwen.com/subject/mypbhqtx.html