函数的对象语法混淆

object syntax confusion for functions

我 运行 了解了让我感到困惑的反应流星示例的一些语法。我问了两个我认识的 JS 开发者,他们只能提供猜测。任何人都可以解释为什么这样做吗?

var aaa = {
   bbb() {
      // do something
   }
};

aaa.bbb();

Working example

这是 ES2015 shorthand 表示法。这个:

var obj = { property() { /* code */ } };

相当于ES5

var obj = { property: function property() { /* code */ } };

新语法适用于较新的浏览器(或 Node),或通过 Babel.