Javascript 如何在我的方法和与typescript的接口中使类私有?
我的申请表上有一个等级Javascript 如何在我的方法和与typescript的接口中使类私有?,javascript,typescript,Javascript,Typescript,我的申请表上有一个等级 class MyClass { doTask1 = () => { doTask2(); } doTask2 = () => { } } 我如何设置一个接口文件,如何为此修改我的方法,使doTask1是公共的,而doTask2是私有的 如何设置接口文件 Javascript没有严格的接口 我如何装饰我的方法,使doTask1是公共的,而doTask2是私有的 在Javascript中,公共和私有的概念并不存在
class MyClass {
doTask1 = () => {
doTask2();
}
doTask2 = () => {
}
}
我如何设置一个接口文件,如何为此修改我的方法,使doTask1是公共的,而doTask2是私有的
如何设置接口文件
Javascript没有严格的接口
我如何装饰我的方法,使doTask1是公共的,而doTask2是私有的
在Javascript中,公共和私有的概念并不存在,尽管许多人遵循在变量或函数名(如\u foo
)后面加下划线的惯例,让其他人知道它是私有的。但是,您可以控制对Douglas Crockford编写的变量的访问
编辑
特别是对于TypeScript,我要签出,我认为这与您关于私有函数的问题有关。记住-接口只能包含公共方法:
interface IMyClass {
doTask1(): void;
}
class MyClass implements IMyClass {
doTask1 = () => {
this.doTask2();
}
doTask2 = () => {
}
}
var instance: IMyClass = new MyClass();
instance.doTask1(); // Ok
instance.doTask2(); // Error
可运行示例:
顺便说一句,你可能应该这样构造你的类:
class MyClass implements IMyClass {
doTask1() {
this.doTask2();
}
private doTask2() {
}
}
对不起,我的意思是我使用的是有接口和类的Typescript。对,我是根据标题选择的。我从未使用过Typescript,但我知道它可以编译成普通的旧JS,所以我想这可能会有所帮助