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

8
1个回答

24

这些是方法定义计算属性名解构发挥作用。

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

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

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接