繁体   English   中英

对象文字属性值速记

[英]Object Literal Property Value Shorthand

创建JavaScript工厂函数时,我被告知返回语法如下所示:

function FF(constructorArg) {
   var _privateName = constructorArg;

   var publicMessage = "Hello StackOverflow";

   function publicMethodGetName() {
      return _privateName;
   }

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

但是,我刚刚注意到,我可以简化对以下内容的返回:

 return { publicMethodGetName, publicMessage };

而且仍然有效。

使用这种简单语法会有任何意想不到的副作用吗?还是可以使用?

这是定义对象文字属性的简写语法,由ECMAScript2015(aka ES6)引入。 唯一可能的问题是环境支持。 环境应支持此功能。

为了支持基于ES5的环境,您可以使用ES6编译器并将代码转换为ES5。

这是新的es6语法。 除非您编译到es5,否则只有某些浏览器会支持它。 请参阅兼容性表: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM