ES6 destructure assignment 解构赋值

destructure assignment就是解构赋值,简单来说,就是能将一个对象属性赋给另外一个对象属性、将一个数组元素赋给另外一个数组元素。什么意思呢?我们来看例子。

数组解构

var arr=[1,2];
var [a,b]=arr;
console.log(a,b);//1,2

没有解构,需要这样写

var arr=[1,2];
var a,b;
a = arr[0];
b = arr[1];
console.log(a,b);//1,2

两者对比,可以看到,免去了声明变量、按索引取值赋值的繁琐,简单明了,看一下babel编译结果

var arr = [1, 2];
var a = arr[0],
    b = arr[1];
console.log(a, b); //1,2

对象解构

var obj = {name :"hi"}
var {name:x} = obj
console.log(x) //hi

看一下babel的编译结果

var obj = {
  name: "hi"
};
var x = obj.name;
console.log(x); //hi

可以看到x = obj.name目标参数=源对象.目标属性,因为x是变量,所以可以随意命名,那么x当然可以改为name

var {name:name} = obj

因为属性名与值同名,所以可以继续简化

var {name} = obj
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值