Typescript泛型-扩展泛型参数

时间:2019-08-08 15:56:32

标签: typescript typescript-generics

长期使用C ++的人深入研究TypeScript。这是我从库中导入的类的基本设置:

export abstract class A<T> {
    ...
    // Common functionality
}

export class B extends A<B> {
    ...
}

export class C extends A<C> {
    ...
}

export class D extends A<D> {
}

因此,基本上BCD拥有自己的公共API,但是它们共享A的通用API和实现。

现在,我想创建自己的X扩展名A,并具有更多通用功能,并创建共享的BXCXDX这项新功能也是如此。

在C ++中,您可以执行以下操作:

<template T>
class X : public T {
    ...
    // Common functionality
};

class BX : public X<B> {
    ...
}

我正在尝试在TypeScript中找出正确的语法。做类似的事情:

class X<T> extends T {
}
Typescript中的

给出错误。另外,我想添加一个约束,即T在某个时候扩展A。

有人可以为我提供一些见识吗?

0 个答案:

没有答案