typescript:类中的命名函数

时间:2014-03-23 03:15:34

标签: typescript

下面的打字稿代码

class MyClass{
     test1 = function(){    
     }       
     test2(){   
     }
}

产生

var MyClass = (function () {
    function MyClass() {
        this.test1 = function () {
        };
    }
    MyClass.prototype.test2 = function () {
    };
    return MyClass;
})();

我以前在模块中有javascript命名函数,通常用于递归等。是否可以有一个函数,在类中,分配给变量,或者命名函数不是原型的一部分或this。类似下面的test3test4

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

1 个答案:

答案 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;
})();