我的应用程序中有一个类
class MyClass {
doTask1 = () => {
doTask2();
}
doTask2 = () => {
}
}
如何设置接口文件以及如何为此设置我的方法,以便doTask1是公共的并且doTask2是私有的?
答案 0 :(得分:1)
如何设置界面文件
Javascript没有严格的接口see this stack overflow question
如何为此装饰我的方法,以便doTask1是公共的,doTask2是私有的?
在Javascript中,公共和私有的概念并不存在,尽管许多人遵循对变量或函数名称(例如_foo
)的附加和下划线的约定,以让其他人知道它的意思是私人的。但是,您可以控制对Douglas Crockford编写的变量here is a good explanation of that的访问。
修改强>
对于TypeScript,我会结帐MSDN article on interfaces,我认为this stack overflow question与您关于私人功能的问题相关。
答案 1 :(得分:0)
记住 - 接口只能包含公共方法:
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() {
}
}