如何在没有类型定义的情况下定义泛型类型 'has property' 约束?

How to define generic type 'has property' constrint without type definition?

假设我们必须执行以下操作:

export class Class1<T> {
    public constructor(param1: T) {
        param1.prop1 = 1; // TS error: T doesn't have property 'prop1'
    } 
}

鉴于我们无法从单个碱基 interface`class`` 继承所有可能的 param1,如何限制 T?

我试过T extends { prop1: number },但它是 TS 的不正确语法。

我在问题中给出的解决方案是正确的:

export class Class1<T extends { prop1: number }> {
    public constructor(param1: T) {
        param1.prop1 = 1; // No TS error now
    } 
}

看来我在使用 VS Code 的内置错误检查器时遇到了一些问题。