es6哈希数组索引函数调用混合语法

这些都是method definitionscomputed property namesdestructuring工作:

{ 
    [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}) { 

}