创建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。

09-25 15:30