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

TypeScript类型定义:导入、导出或两者都需添加type前缀?

关于TypeScript类型导入/导出时type前缀的使用说明

两种写法的核心区别

这两种写法都是TypeScript为明确区分类型和值提供的语法,本质都是帮助编译器和工具链准确识别类型成员,避免混淆。

导出时添加type前缀

这种写法是对类型导出的批量显式声明,直接告知TS:当前导出的所有成员都是类型,而非可执行的变量、函数等值。

export type {
  TPromptCommentFieldProps,
};

适合在专门存放类型定义的文件中使用,能和值导出(比如export { fetchData })清晰划清边界。

导入时添加type前缀

这种写法是在导入阶段单独标记某个成员为类型,更适合混合导入类型和值的场景:

// 同时导入类型和值
import { type TPromptCommentFieldProps, submitComment } from 'test-path';

这样能直观区分哪些是类型、哪些是可执行的代码,避免TS在类型推断时出现歧义。

是否需要两者都添加?

完全合法,但属于冗余操作。只要导出或导入的其中一端明确标记了type,TS就能正确识别成员的类型属性。除非团队有强制统一的规范要求,否则没必要重复添加。

选择建议

  • 若文件仅导出类型(无任何值导出),优先用export type { ... }的批量写法,整体可读性更强。
  • 若需要混合导入/导出类型和值,推荐在导入时给类型成员加type前缀,区分度更高。
  • 最重要的一点:遵循团队已有的代码规范,保持项目内写法统一,比纠结单一写法的优劣更关键。

内容的提问来源于stack exchange,提问作者Henok Tesfaye

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 23:57:15