- let [a,b,c] = [1,2,3]; 左右要求结构一致
console.log(a,b,c) ;
如 let [a,[b,c]] = [1,[2,3]];
2.解析json
let json = {
name:"",
age: “”,
time: “”
}
let {name,age,time} = json;
console.log(name,age,time)
3.起别名
let {name: a,age: b,time: c} = json;
console.log(a,b,c)
4.给默认值
let {name,age,time = “暂无”} = json;
在time为undefined时会成为默认值“暂无”,当为null时无法给默认值。只能在用的时候判断。
5.解构可能会被认为是块级作用域,解决办法 在{}外层加();
6.let a = 5;
let b = 6;
[a,b] = [b,a] // a,b交换位置。
7.window对象的一些属性如 top 已经在 script里面被定义了,所以结构中有同名的top时会报错 这是可以起别名 [left,top:t] ; console.log(t)
8.import {} from ‘./mod’ 也是解构
9.函数传参 function show({a,b =“1”}) {
}
show({a:1,b:2});
function show({a,b =“1”} ={}) { //默认可以不传参
}
show();