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