解构赋值注意三要点

  • 左右两边结构必须是一样的额, 一 一 对应
  • 右边必须是个合法的东西 如数组、json
  • 声明和赋值不能分开(必须在一句话里面完成)

例子

  • 例子1

    1
    2
    let [a,b,c] = [1,2,3];
    console.log(a,b,c);
  • 例子2

    1
    2
    3
    //这里的d,e,f标识符必须一一对应,不然接收不到
    let {d,e,f} = {d:1,e:2,f:4};
    console.log(d,e,f);
  • 例子3,复杂一点的解构赋值

    1
    2
    3
    4
    //例子3   这里主要 k,m 也必须为 k,m 若为其他的标识符是接收不到的( 结构必须是一样 )  

    let [{k,m},[z,x,s],g,n] = [{k:1,m:4},[1,2,3],12,'abc'];
    console.log(k,m,z,x,s,g,n);
  • 例子4 随意粒度

    1
    2
    3
    //结构必须是一样(但我们可随意拆分想要的粒度) 
    let [a,b,c,d] = [{k:1,m:4},[1,2,3],12,'abc'];
    console.log(a,b,c,d);
  • 错误示例

    1
    2
    3
    let [a,b,c];
    [a,b,c] = [1,2,3];
    //这样子是不对的 解构赋值(就得有赋值的操作),声明和赋值不能分开