es6 哈希数组索引函数调用混合语法
es6 hash array index function call mixed syntax
这是什么ES6语法?
{
[ActionTypes.Repo](state, { username, res }) {
/* ... */
},
[ActionTypes.Repo2](state, { username, res }) {
/* ... */
}
取自:https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.js
他们 method definitions, computed property names and destructuring 在工作。
方法定义提供了一种简洁的方法来创建包含函数的属性:
// 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]() {}
};
解构 就像模式匹配,如果您需要的话,可以更轻松地引用 array/object 的嵌套属性:
// before
function foo(obj) {
var username = obj.username;
var res = obj.res;
}
// now
function foo({username, res}) {
}
这是什么ES6语法?
{
[ActionTypes.Repo](state, { username, res }) {
/* ... */
},
[ActionTypes.Repo2](state, { username, res }) {
/* ... */
}
取自:https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.js
他们 method definitions, computed property names and destructuring 在工作。
方法定义提供了一种简洁的方法来创建包含函数的属性:
// 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]() {}
};
解构 就像模式匹配,如果您需要的话,可以更轻松地引用 array/object 的嵌套属性:
// before
function foo(obj) {
var username = obj.username;
var res = obj.res;
}
// now
function foo({username, res}) {
}