下面的打字稿代码
class MyClass{
test1 = function(){
}
test2(){
}
}
产生
var MyClass = (function () {
function MyClass() {
this.test1 = function () {
};
}
MyClass.prototype.test2 = function () {
};
return MyClass;
})();
我以前在模块中有javascript命名函数,通常用于递归等。是否可以有一个函数,在类中,分配给变量,或者命名函数不是原型的一部分或this
。类似下面的test3
和test4
。
var MyClass = (function () {
function test3(){
}
var test4 = function(){
}
function MyClass() {
this.test1 = function () {
//test3 and test4 are accessible here..
};
}
MyClass.prototype.test2 = function () {
};
return MyClass;
})();
答案 0 :(得分:2)
在函数之前使用static关键字,它将仅绑定到函数构造函数,而不是原型或this。没有办法让它完全隐藏在封闭内。
打字稿
class MyClass{
static test1 = function(){
}
test2(){
}
}
的JavaScript
var MyClass = (function () {
function MyClass() {
}
MyClass.prototype.test2 = function () {
};
MyClass.test1 = function () {
};
return MyClass;
})();