You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript子接口中添加嵌套子字段且不重复其他字段?

简洁扩展嵌套字段的两种方法

方法1:利用类型交集(&)直接扩展

你可以通过类型交集结合Foo['b']来复用原接口中b的字段,无需重复声明:

interface Foo {
  a: string;
  b: {
    c: string;
  }
}

interface FooChild extends Foo {
  // 复用Foo中b的所有字段,同时新增d字段
  b: Foo['b'] & {
    d: string;
  }
}

这样FooChild['b']会自动包含原有的c: string和新增的d: string,a字段因为继承自Foo也无需重复声明。

方法2:拆分嵌套接口(适合复杂场景)

如果b的字段较多,更推荐先把嵌套的b抽成独立接口,后续扩展更灵活:

// 先定义独立的B接口
interface B {
  c: string;
  // 其他10个字段...
}

interface Foo {
  a: string;
  b: B;
}

// 扩展B得到BChild
interface BChild extends B {
  d: string;
}

// 再定义FooChild,直接使用BChild替换b的类型
interface FooChild extends Foo {
  b: BChild;
}

这种方式在b结构复杂、需要多次扩展时,代码复用性更高,也更易维护。


内容的提问来源于stack exchange,提问作者Ivan Gerasimenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:22:04