ES6的变量的解构

变量结构

es6允许按照一定的模式,从对象和数组中提取值,赋值给对应的变量。
只要右边的变量能和左边的值按照一定的规则匹配,就能被赋值。

数组变量结构

1.完全结构

同时给a,b,c三个变量赋值
let [a,b,c] = [1,2,3];
console.info(a);//1
console.info(b);//2
console.info©;//3

2.嵌套结构

let [a,[b,[c]]] = [1,[2,[3]]];
		console.info(a);//1
		console.info(b);//2
		console.info(c);//3

3.不完全结构

没有被完全结构的变量会被赋值给undefined

let [a,b] = [1];
console.info(a);//1
console.info(b);//undefined

4.支持默认值

let [a=1,b=2,c=3] = [1];
console.info(a);//1
console.info(b);//2
console.info(3);//3

5.剩余运算符

let [a,...b] = [1,2,3,4];
console.info(a);//1
console.info(b);//[2,3,4]

对象变量结构

1.完全结构

对象的结构,是根据变量的名称来的,默认根据右边的表达的属性值,找到到同名的表达式进行赋值。

let {a=1,b=2,c} = {b:3,a:4,c:{"x":1,"y":2}};
console.info(a);//4
console.info(b);//3
console.info(c);//{"x":1,"y":2}

如果属性值和变量名不同,就需要明确指定

let {a:x,b=2} = {a:3};
console.info(x);//3
console.info(b);//2

函数参数解构

可以给函数参数用于结构,赋值
function test([a,b]){
return a+b;
}

console.info(test([1,2]));//3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值