4

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;
    };

})();
4

1 回答 1

9

RMP 不适用于基于类的设计。module做你想做的事:

module myMod {
    var x = 31;
    export var y = x + 15;
}

生成:

var myMod;
(function (myMod) {
    var x = 31;
    myMod.y = x + 15;
})(myMod || (myMod = {}));

这里的显着特点:

  • 用闭包捕获私人
  • 公共成员作为对象自己的属性可见
  • 该对象是在 IIFE 中创建的
于 2013-04-01T17:33:07.223 回答