一个例子:
interface IResourceService {
(url: string, paramDefaults?: any,
actions?: any, options?: IResourceOptions): IResourceClass<IResource<any>>;
}
语法(variable: type): Type;
是什么意思?我该如何实现这个界面?
答案 0 :(得分:3)
他们宣布一个功能。
这是一个可以直接调用的接口,指定了params和return类型。请记住,TS接口不是具体的:你不能实例化它们,你不能直接引用它们(例如,foo instanceof interfaceFoo
是非法的),它们不会出现在输出代码中。
TS接口只是定义对象预期形状的契约。使用foo
参数可以很容易地调用该形状并返回bar
。&#34;
这是briefly covered in the docs:
为了描述带有接口的函数类型,我们为接口提供了一个调用签名。这就像一个函数声明,只给出了参数列表和返回类型。参数列表中的每个参数都需要名称和类型。
答案 1 :(得分:2)
只是想补充一点,你也可以使用a type alias来做同样的事情:
type IResourceService =
(url: string, paramDefaults?: any,
actions?: any, options?: IResourceOptions) => IResourceClass<IResource<any>>;
而且(在我看来)它更具可读性。