ES6 解构赋值学习

学习博客:ES6-变量的解构赋值-阮一峰

核心:按照一定模式 ,从数组对象中提取值

数组的解构赋值,根据索引位置进行赋值

// 根据位置进行赋值
let [a, b, c] = [1, 2, 3];
console.log(a, b, c);

let [head, ...tail] = [1, 2, 3, 4];
console.log(head, tail)

// 也可以设置默认值
let [x, y = 'b'] = ['a'];
console.log(x, y)

// 如果解构不成功,值则为undefined
let [x1, y1] = ['a']
console.log(x1, y1)

对象的解构赋值,变量必须与属性同名,才能取到正确的值

let { foo, bar } = { foo: "aaa", bar: "bbb" };
console.log(foo, bar)

// 下面这种解构失败
let { baz } = { foo: "aaa", bar: "bbb" };
// console.log(baz) // undefined

 

解构函数的用途

1.交换变量的值

let v1 = 1;
let v2 = 2;
[v1, v2] = [v2, v1]
console.log(v1, v2)

2.从函数返回多个值

function foo () {
	return [1, 2, 3]
} 
let [a1, b1, c1] = foo()
console.log(a1, b1, c1)

function _foo () {
	return {
		'_name': 'kobe',
		'_age': 40 
	}
} 
let {_name, _age} = _foo()
console.log(_name, _age)

3.函数参数的定义

// 更直观的方式进行传参
function fooo({name, age, number}) {
	console.log(name, age, number)
}
fooo({name: 'kobe', age: 40, number: 24})

4.提取JSON数据

let data = {
	"kobe": "cjn",
	"championship": [2000, 2001, 2002, 2009, 2010]
}
let {kobe, championship} = data
console.log(kobe, championship)

update...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值