在 Typescript 中实现没有名称的函数
Implement function without name in Typescript
我正在尝试实现一个没有名称的函数,如下所示:
interface I {
(name: string): void;
}
class C implements I {
(name: string):void { }
}
我想这样用C,但是不行:
C("test");
我可以写在javascript里面,使用接口声明:I("test");
但我想在 Typescript 中做同样的事情。
类 TypeScript 中不能有调用签名。
您不能在 类 上执行此操作,但可以使用常规函数执行此操作:
interface I {
(name: string): void;
}
var C: I = function(name: string) {
};
C("test"); // ok
C(1); // compile error
然后,如果您更改界面,您将收到编译错误通知以更改 C
函数。
我正在尝试实现一个没有名称的函数,如下所示:
interface I {
(name: string): void;
}
class C implements I {
(name: string):void { }
}
我想这样用C,但是不行:
C("test");
我可以写在javascript里面,使用接口声明:I("test");
但我想在 Typescript 中做同样的事情。
类 TypeScript 中不能有调用签名。
您不能在 类 上执行此操作,但可以使用常规函数执行此操作:
interface I {
(name: string): void;
}
var C: I = function(name: string) {
};
C("test"); // ok
C(1); // compile error
然后,如果您更改界面,您将收到编译错误通知以更改 C
函数。