1.基本用法json
{ let a,b; [a,b] = [1,2]; console.log(a, b); // 1 2 } { let a,b,c; [a,b,...c] = [1,2,3,4,5,6]; console.log(a, b, c); // 1 2 [3,4,5,6] } { let a,b,c; [a,b,c=3] = [1,2]; // 设置默认值 console.log(a, b, c); // 1 2 3 }
2.变量交换数组
{ let a = 1; let b = 2; [a, b] = [b, a]; console.log(a, b); // 2 1 }
3.函数返回结果赋值函数
{ function f() { return [true, false]; } let a,b; [a, b] = f(); console.log(a, b); // true false }
4.忽略某些返回值,只取须要的code
{ function f() { return [1,2,3,4,5]; } let a,b; [a,,,b] = f(); console.log(a, b); // 1 4 }
5.函数返回结果不肯定,只关心第n个,剩余的赋值到一个数组对象
{ function f() { return [1,2,3,4,5]; } let a,b; [a,...b] = f(); console.log(a, b); // 1 [2,3,4,5] }
1.基本用法ip
{ let obj = {p: 42, q: true}; // 变量名要和属性名一致对应,变量名等于属性名 // 左侧是一个对象,右侧也是一个对象 let {p, q} = obj; console.log(p, q); // 42 true } { let {a=10, b=5} = {a:3}; // 设置默认值 console.log(a, b); // 3 5 }
2.json数据的解构赋值it
{ let data = { title: 'hahaha', test: [ { title: 'yoyoyo', desc: 'description' } ] }; let {title: mainTitle, test: [{title: subTitle}]} = data; console.log(mainTitle, subTitle); // hahaha yoyoyo }