繁体   English   中英

如何在我的方法和TypeScript接口中将类设为私有?

[英]How can I make a class private in my method and interface with typescript?

我的申请中有课程

class MyClass {
    doTask1 = () => {
        doTask2();
    }
    doTask2 = () => {

    }
}

如何设置接口文件,以及如何为此装饰方法,以便doTask1是公共的而doTask2是私有的?

如何设置界面文件

JavaScript严格没有接口, 请参见此堆栈溢出问题

如何为此装饰我的方法,以便doTask1是公共的而doTask2是私有的?

在Javascript中,虽然很多人遵循在变量或函数名称后加下划线的约定(例如_foo ),以使其他人知道它是私有的,但public和private的概念并不存在。 但是,您可以控制对变量的访问, 这是 Douglas Crockford所写的很好的解释

编辑

特别是对于TypeScript,我将签出有关interfacesMSDN文章 ,并且我认为此堆栈溢出问题与您有关私有函数的问题有关。

记住-接口只能包含公共方法:

interface IMyClass {
    doTask1(): void;
}

class MyClass implements IMyClass {
    doTask1 = () => {
        this.doTask2();
    }
    doTask2 = () => {

    }
}


var instance: IMyClass = new MyClass();
instance.doTask1(); // Ok
instance.doTask2(); // Error 

可运行的示例: http : //bit.ly/Uzkv7V

顺便说一句,您可能应该像这样构造您的类:

class MyClass implements IMyClass {
    doTask1() {
        this.doTask2();
    }
    private doTask2() {

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM