美文网首页重学es6
解构赋值 讲解之3 数组

解构赋值 讲解之3 数组

作者: zhang463291046 | 来源:发表于2020-08-17 09:52 被阅读0次

    以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习。理解错误的地方,欢迎评论。如有侵权,私聊我删除,未经允许,不准作为商业用途

    从数组中提取值,按照对应顺序位置,对变量赋值,这种写法属于“模式匹配”

    let [a, b, c] = [1, 2, 3];
    a //1
    b //2
    c //3
    
    let [a, ...c] = [1, 2, 3];
    a// 1
    c// [2, 3]
    
    let [a, b, ...c] = [1];
    a //1
    b //undefined
    c //[]
    
    let [a, [b], c] = [1, [2, 3]];
    a //1
    b //2
    c //undefined
    

    不完全解构:等号左边的模式,只匹配一部分的等号右边的数组

    let [x, y] = [1, 2, 3];
    x // 1
    y // 2
    
    let [a, [b], d] = [1, [2, 3], 4];
    a // 1
    b // 2
    d // 4
    

    默认值:当一个数组成员严格等于undefined,默认值才会执行代码生效

    let [x, y = 'b'] = ['a']; 
    x // 'a',
    y //'b'
    
    let [x, y = 'b'] = ['a', undefined]; 
    x // 'a',
    y //'b'
    
    let [x, y = 'b'] = ['a', null]; 
    x // 'a',
    y //'null'
    
    let [x, y = f()] = ['a', 1];
    function f() {    //此方法不会被执行
      console.log('aaa');
    }
    x // 'a'
    y // '1'
    

    相关文章

      网友评论

        本文标题:解构赋值 讲解之3 数组

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