对象文字属性值速记

创建JavaScript工厂函数时,有人告诉我返回语法如下:

function FF(constructorArg) {
   var _privateName = constructorArg;

   var publicMessage = "Hello StackOverflow";

   function publicMethodGetName() {
      return _privateName;
   }

   return {
      publicMethodGetName: publicMethodGetName,
      publicMessage: publicMessage
   };
}

不过,我刚刚注意到我可以将返回简化为以下内容:

 return { publicMethodGetName, publicMessage };

而且它仍然有效。

使用此更简单的语法是否有任何意想不到的副作用,或者可以使用吗?


解决方案

这是ECMAScript2015(也称为.ES6)。唯一可能的问题是环境支持。环境应支持此功能。

为支持基于ES5的环境,您可以使用ES6转换程序并将代码转换为ES5。

相关文章