在2024年,TypeScript已经成为一种常见的技术。然而,长期以来的使用经验告诉我,尽管它可以使用,但需适度。
在业务快速变化的情况下,TypeScript的类型定义需要不断地跟上业务变化。产品功能的微小更改可能导致类型系统的大规模修改。即使最初的设计合理,产品需求也可能让其变得不合理。因此,要么花更多时间去维护类型,要么逐渐走向AnyScript。
大多数团队成员并不具备熟练使用TypeScript的水平。当新手遇到看不懂的类型时,为了让代码能够运行,直接使用可选链操作并不罕见。然而,这种行为可能只是问题的冰山一角。为了让代码运行,我们无法预估团队成员会作出怎样的修改以及哪些修改是合理的。这也考验着团队的代码审查和执行力度。
对于性能过剩的电脑用户来说,可能并不会意识到电脑性能的压力。然而,很多人的电脑内存较少,TypeScript的类型推导会消耗额外的内存。这就导致了等待IDE加载类型系统的情况。此外,过于复杂的类型推导更会加剧这种现象。
对TypeScript的使用应当避免极端态度。我并不是在呼吁大家不要使用TypeScript。相反,我是坚定的TypeScript拥护者。根据我的经验,发现适度使用可能更加合适。不使用TypeScript会导致维护困难,但过度使用也会给后期维护带来困难。如何定义适度使用,取决于团队水平和项目情况。就我个人而言,Omit、Pick、泛型等都算是正常使用。但一旦需要自己编写类型推导,则需要慎重考虑。
技术并非银弹,选型需根据项目情况和现有资源进行。一些知名的仓库可能使用TypeScript非常得心应手,但我们需要根据自身情况进行选择。