【发布时间】:2013-03-22 18:10:01
【问题描述】:
TypeScript 是否没有对类使用显示模块模式?我预计这段代码会得到不同的结果。
class Test {
private privateProperty: any;
public publicProperty: any;
}
生成这个:
var Test = (function () {
function Test() { }
return Test;
})();
我希望是这样的:
var test = (function(){
var privateProperty;
var publicProperty;
return {
publicProperty: publicProperty;
};
})();
【问题讨论】:
-
不,不是。
private/public检查只是由编译器完成,不会影响生成的代码。 (但这只是一个猜测。:))不过,你的第二个例子是不对的。它甚至不返回一个函数。 -
module的代码生成与您发布的最相似 -
@minitech:不,它不返回函数,它返回对象文字。它被称为显示模块模式。见这里:stackoverflow.com/questions/5647258/…
-
@epitka:哦。嗯,这是一个模块,而不是远程构造函数。
-
@minitech:“不是远程构造函数”是什么意思?
标签: typescript