es6哈希数组索引函数调用混合语法
问题描述:
答
这些都是method definitions,computed property names和destructuring工作:
{
[ActionTypes.Repo](state, { username, res }) {
/* ... */
},
[ActionTypes.Repo2](state, { username, res }) {
/* ... */
}
取之。
方法定义提供一个简洁的方式来创建包含的功能特性:
// before
var obj = {
foo: function() {}
};
// now
var obj = {
foo() {}
};
这对于在class
定义来创建方法相同的语法。
计算属性允许你使用任何表达式作为属性名的结果在对象字面:
var foo='somePropertyName';
// before
var obj = {};
obj[foo] = 42;
// now
var obj = {
[foo]: 42
};
当然,这也适用于方法的定义:
var obj = {
[foo]() {}
};
解构就像模式匹配,并且可以更容易地引用数组的嵌套属性/ o如果这就是所有你需要的东西:
// before
function foo(obj) {
var username = obj.username;
var res = obj.res;
}
// now
function foo({username, res}) {
}