typescript中带有泛型的子类型约束

typescript中带有泛型的子类型约束,typescript,generics,typescript-generics,Typescript,Generics,Typescript Generics,有此代码: 导出接口IModel{ id:字符串; } 导出接口状态响应< t模型扩展IModel=IModel, t响应=任何 > { 项目:TModel; 响应:响应; } 出口级运输{ 保存(项目:滴度):状态响应{ 常量结果:StatusResponse={ item:{/考虑一下,如果将上述类与需要附加属性的泛型参数一起使用,会发生什么情况。例如: new Transport<{ id: string, additionalProp: string }>() new T

有此代码:

导出接口IModel{
id:字符串;
}
导出接口状态响应<
t模型扩展IModel=IModel,
t响应=任何
> {
项目:TModel;
响应:响应;
}
出口级运输{
保存(项目:滴度):状态响应{
常量结果:StatusResponse={

item:{/考虑一下,如果将上述类与需要附加属性的泛型参数一起使用,会发生什么情况。例如:

new Transport<{ id: string, additionalProp: string }>()

new Transport<{ id: string, additionalProp: string }>()
export class Transport<TItem extends IModel = IModel> {
  save(item: TItem): StatusResponse<TItem> {

    const result: StatusResponse<TItem> = {
      item: {
        ...item,
        id: ""
      },
      response: {
        stat: "ok"
      }
    };

    return result;
  }
}