如何从TypeScript推断类型自动生成显式Interface接口代码
从JS对象生成TS接口的实现方案及工具推荐
原生TypeScript免工具实现
如果只是单次处理少量对象,不用额外借助工具,用TypeScript自带的类型推导能力就可以直接得到对应类型:
const todo = {name: "Learn Some TS", isDone: true} // 直接通过typeof提取对象类型,推导结果和你需要的interface完全一致 type TodoInterface = typeof todo
小提示:TS 中基础类型推荐使用小写的
string/boolean/number,大写的对应声明是JS包装对象类型,通常不推荐用于普通属性的类型定义。
常用转换工具推荐
- TypeScript 编译器API:适合批量处理场景,直接调用官方TS编译器的AST解析能力,只需要写少量脚本就能自定义生成符合你格式要求的接口,支持自定义命名规则、属性可选逻辑等,适配性最高。
- 代码编辑器插件:VS Code等主流编辑器都有对应的免费插件,选中你要转换的JS对象或者JSON代码片段,一键就能生成对应的interface定义,大部分插件还支持配置是否生成注释、是否用type替代interface、属性命名风格转换等规则。
- 本地CLI工具:有大量开源的Node.js命令行工具,支持批量扫描整个项目的JS对象、JSON文件,批量导出所有对应的TS接口,适合大规模项目从JS迁移到TS的场景,支持配置输出路径、命名规范等参数。
- 在线转换工具:临时处理非敏感内容可以用在线转换工具,粘贴对应的对象或者JSON内容,几秒就能生成你需要的interface定义,注意不要把公司内部的敏感数据粘贴到公共在线工具处理。
内容的提问来源于stack exchange,提问作者jrhicks
相关产品推荐
相关产品推荐

