You need to enable JavaScript to run this app. TypeScript扩展类型时如何为第三方库的嵌套类型新增字段
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript扩展类型时如何为第三方库的嵌套类型新增字段

实现方案

方案1:局部自定义扩展类型(推荐单次/少场景使用)

你可以通过TS交叉类型结合Omit工具类型,在不修改原第三方类型的前提下生成符合需求的新类型:

// 第一步:扩展原Deposit类型,新增需要的字段
type ExtendedDeposit = Deposit & {
    num3: string;
    num4: string;
}

// 第二步:替换Nice类型中的deposit字段类型为扩展后的类型
type ExtendedNice = Omit<Nice, 'deposit'> & {
    deposit: ExtendedDeposit
}

后续你在业务中直接使用ExtendedNice类型即可,完全符合你要求的结构,也不会污染第三方库的原始类型定义。

方案2:全局模块补充(推荐全项目通用扩展)

如果整个项目都需要用到扩展后的Deposit字段,可以通过TS的模块声明补充能力,全局扩展第三方库的类型定义:

  1. 新建.d.ts后缀的全局声明文件(比如global.d.ts,放在项目src目录下即可)
  2. 补充如下声明,注意将third-package-name替换为你实际引入的第三方库的包名:
declare module 'third-package-name' {
    interface Deposit {
        num3: string;
        num4: string;
    }
}

配置完成后,整个项目中所有用到Deposit和Nice类型的地方,都会自动带上新增的num3、num4字段,不需要额外自定义新类型。

内容的提问来源于stack exchange,提问作者Nika Kurashvili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 21:15:06