export declare abstract class AbstractBootstrapConsole<A extends INestApplicationContext, O extends CommonBootstrapConsoleOptions = CommonBootstrapConsoleOptions> { protected service: ConsoleService; protected container: A; protected readonly options: O; constructor(options: O); protected useDecorators(): this; init(): Promise<A>; getService(): ConsoleService; getOptions(): O; boot(argv?: string[]): Promise<CommandResponse>; abstract create(): Promise<A>;}我试图理解这个函数类声明。它是 nestjs-console 模块的一部分。我无法理解声明。做什么class A<B extends C, D extends E = F>意思是?将来,我将如何自己查找?我在 Typescript 的文档中找不到这个。更新:得到了一些非常明确的答案!谢谢你们!
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
这些被称为泛型。
class A<B extends C, D extends E = F>
您正在定义一个名为 A 的类,它接受两个泛型参数,称为 B 和 D。B 必须扩展接口 C,D 必须扩展接口 E。如果没有提供泛型参数 D,则默认为接口 F。
interface C {
name: string;
}
interface E {
something: number;
}
interface F extends E {
somethingElse: boolean;
}
class A<B extends C, D extends E = F> {
constructor(b: B, d: D) {
}
}
interface D extends C {
surname: string;
}
const a: A<D> = {}; // Optional generic parameter default to F, constuctor parameter d must be of type F.
https://www.typescriptlang.org/docs/handbook/generics.html
添加回答
举报
0/150
提交
取消