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

如何在不修改生成接口的情况下获取TypeScript接口属性类型?

如何从已有TypeScript接口中提取指定属性的类型

当然有更简洁规范的方法!你之前的方式虽然能实现,但有点绕,其实TypeScript本身就提供了直接提取接口属性类型的能力,根本不用搞那些中间变量~

具体实现方式

直接通过索引访问类型的语法,就能从原接口里拿到getCategory的类型,完全不需要修改原接口:

// 从GetCategoryBySlugQuery接口中提取getCategory的类型
type CategoryType = GetCategoryBySlugQuery['getCategory'];

// 现在可以直接用这个类型定义你的变量了
const myVariable: CategoryType;

如果你只是临时使用这个类型,甚至可以不用单独定义类型别名,直接把索引语法写在变量声明里:

const myVariable: GetCategoryBySlugQuery['getCategory'];

为什么这个方法更靠谱?

  • 避免了不必要的变量声明和as类型断言,代码更简洁清晰
  • 完全符合TypeScript类型系统的设计规范,没有“取巧”的成分
  • 类型定义在编译阶段会被移除,不会产生任何运行时冗余代码

内容的提问来源于stack exchange,提问作者Rohman HM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:28:06