dan*_*wig 3 javascript typescript
在TypeScript中,如果没有编译器将其添加到原型中,我似乎无法在类中声明函数.例如:
class MyTypeScriptClass {
// method, is added to prototype
foo1(): void {
alert('invoked foo1');
}
// private method also added to prototype
private foo2(): void {
alert('invoked foo2');
}
//// can I have a local function, without making it a private method?
//function foo3() {
// alert('invoked foo3');
//}
}
Run Code Online (Sandbox Code Playgroud)
以上编译如下:
var MyTypeScriptClass = (function () {
function MyTypeScriptClass() { }
MyTypeScriptClass.prototype.foo1 = function () {
alert('invoked foo1');
};
MyTypeScriptClass.prototype.foo2 = function () {
alert('invoked foo2');
};
return MyTypeScriptClass;
})();
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是可以编译为以下JavaScript的typescript:
var fvm = new FlasherViewModel2();
var MyTypeScriptClass = (function () {
function MyTypeScriptClass() { }
MyTypeScriptClass.prototype.foo1 = function () {
alert('invoked foo1');
};
MyTypeScriptClass.prototype.foo2 = function () {
alert('invoked foo2');
};
function foo3() {
alert('invoked foo3');
}
return MyTypeScriptClass;
})();
Run Code Online (Sandbox Code Playgroud)
可以吗?
(作为旁注,我知道foo3不能从外部代码调用.我实际上会从类中的另一个方法调用foo3,例如,将函数传递给jQuery fadeOut.)
正如apsillers所提到的,private static可能就是你想要的.虽然它在当前版本中不受支持,但您将来可以private static在某个时刻拥有TypeScript成员(设计团队根据类似的反馈改变了对此的想法).
| 归档时间: |
|
| 查看次数: |
7960 次 |
| 最近记录: |