TypeScript怎么合理高效地声明类型?

问题描述

最近刚在项目中使用TypeScript,发现需要编写大量的类型声明,如果一个变量在几个文件之间传来传去,在每个地方都要声明一下类型,而且大量的类型声明导致了效率大大降低,相当一部分时间在写类型,怎么平衡业务代码和类型代码的时间?编写类型带来的效率提高和收益体现在哪里?

问题出现的环境背景及自己尝试过哪些方法

我将所有的类型都放到types文件夹下面,如果一个变量出现在不同文件中,直接导入对应的type,实现了复用,但是还是不知道该怎么平衡写业务代码和写类型代码的时间,最后为了赶工,不得不在所有地方都写any,感觉失去了用ts的意义。

阅读 3.7k
5 个回答

声明类型是为了易读,如果暂时不需要去读,可以以后补上

实体的类型 (对应人/物等实体,或订单/订单参数等虚拟实体,名词)应该是先于 “操作”(CRUD等,动词)存在的,这部分不如找时间写好一次然后四处用。

效率提高体现在一处类型不匹配就会处处错,一处处改下来类型对了行为也顺便对了

我觉得 interface、class 的复用还蛮好用的啊,特定地方引用一下就好了,不就和一个 common 函数之类的一致。
而且它提供的静态属性的提示,也可以提高一些效率,毕竟就算自己写的代码过几天也不知道一个对象上有哪些属性。
最关键的是,对新人或其他后接手的人真的是非常友好啊,毕竟一个公司不是只有几一个人工作。

我个人感觉,没有那么占用时间,而且提供的可维护性是非常高的。

我一般在项目src目录下有一个global.d.ts专门用来统一声明类型

tsconfig 把隐式any开起来,充分利用让typescript自己去推测类型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题