es6-对象和数组的解构赋值

解构赋值给我们一种新的变量赋值方式,主要可以利用数组解构赋值和对象解构赋值。
它的用途包括:交换变量值,提取函数返回值,函数参数定义,默认值设定等

// 函数参数定义
function demo ({a,b,c}) {
  console.log(a)  // 1
  console.log(b)  // 2
  console.log(c)  // 3
}
demo({a:1,b:2,c:3})

// 交换变量
var x = 1
var y = 2
var [x,y] = [y,x]  //这里要写上var,否则x的值为undefined,y为1
console.log(x)  // 2
console.log(y)  // 1

// 设定参数默认值  
function demo1({name="张三"}){  // 注意,参数是对象
  console.log("姓名:"+name);
}
demo1({});  // 姓名:张三

// 提取函数的返回值
function demo2 () {
  return {"name":"rose","age":"22"}
}
var {name,age} = demo2()
console.log(name)  // rose
console.log(age)  // age

注意,解构赋值的拷贝是浅拷贝,即如果一个键的值是复合类型的值(数组、对象、函数)、那么解构赋值拷贝的是这个值的引用,而不是这个值的副本。

let obj = { a: { b: 1 } };
let { ...x } = obj;
obj.a.b = 2;
x.a.b // 2

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值