既然有时间在最后壮烈牺牲,不如完美地活到最后一刻——坂田银时/银魂
前两天有朋友问我,这个写法看不懂,让我给他讲讲
它这里用到了一个ES6
的新特性:解构赋值
这里简单复现一下
var param = {
columns: {
property: "我是property"
},
data: ["我是", "data", "数组"]
}
var {columns,data} = param
console.log(columns)
console.log(data)
输出结果
可以看到我们这里使用
var {columns,data} = param
去拿到了param
里的变量columns
和data
这里注意一点,如果我们使用的名字不同的话,是无法取得里面的属性的
例如
var param = {
columns: {
property: "我是property"
},
data: ["我是", "data", "数组"]
}
var {col,data} = param
console.log(col)
console.log(data)
可以看到输出undefined
了
那如果我们这个变量在上面有同名的怎么办呢,我们可以使用冒号取个别名
var columns = "我被定义了"
var param = {
columns: {
property: "我是property"
},
data: ["我是", "data", "数组"]
}
var {columns:col, data} = param
console.log(columns)
console.log(col)
console.log(data)
输出结果