如何在TypeScript中使用特定的初始值使通用类“ Foo <T = any>”?

时间:2019-06-17 21:35:59

标签: typescript generics typescript-generics

对于通用类,我有以下代码:

export default class XYZValues<T = any> extends Observable {
    private _x: T = undefined
    private _y: T = undefined
    private _z: T = undefined
}

但是它说undefined不能分配给T。

子类应指定类型,例如XYZNumberValuesextends XYZValues<number>用于T,而XYZStringValuesextends XYZValues<string>

目前,我正在使用any,但感觉不正确:

export default class XYZValues<T = any> extends Observable {
    private _x: T = undefined as any
    private _y: T = undefined as any
    private _z: T = undefined as any
}

是否存在不使用any来创建具有默认值(例如未定义)的泛型类的推荐方法?

0 个答案:

没有答案