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

es6 hash array index function call mixed syntax

本文关键字:混合 语法 函数调用 索引 哈希 数组 Es6      更新时间:2023-09-26

这是什么ES6语法?

{
  [ActionTypes.Repo](state, { username, res }) {
    /* ... */
  },
  [ActionTypes.Repo2](state, { username, res }) {
    /* ... */
}

摘自:https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.js

这些是正在工作的方法定义、计算属性名和析构。

方法定义提供了一种简洁的方法来创建包含函数的属性:

// 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]() {}
};

解构就像模式匹配,如果你需要的话,可以更容易地引用数组/对象的嵌套属性:

// before
function foo(obj) {
  var username = obj.username;
  var res = obj.res;
}
// now
function foo({username, res}) {
}