![](/img/trans.png)
[英]How can I make a complex interface with string indexes with 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,我将签出有关interfaces的MSDN文章 ,并且我认为此堆栈溢出问题与您有关私有函数的问题有关。
记住-接口只能包含公共方法:
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.