ES6的解构可以将对象的属性值绑定到任意数量的变量。解构可以用于对象,数组以及函数参数列表
提示:以下是本篇文章正文内容
一、对象的解构
1.写法
在user对象中,有以下的属性
var user = {
id: 5,
level: 1,
mobile: "18888888888",
nickname: "",
token: "59dc7c0b-0935-4c2c-a083-73c9996ba6d5",
type: 2,
user_id: 5,
username: "黔东南",
address: {
province:'贵州',
city:'贵阳'
}
}
用ES5的方式,我们需要从user对象中取出nickname、user_id以及username属性,会发现代码有点冗长
var nickname = user.nickname;
var user_id = user.user_id;
var username = user.username;
用ES6的方式
var { nickname, user_id, username } = user;
//输出的结果和上面ES5的方式一样
从上面的对比就看得出,ES6的解构语法比较灵活
2.将解构的变量赋值
在上面的例子中,如果我们想要把username 属性换成name变量,那么我们可以使用称为别名的解构语法。
var { username: name } = user;
别名语法看起来没有像ES5写法简单
var name = user.username;