TypeScript真的是必须的吗?

编程有珠玑 2024-08-28 11:00:34

TypeScript现在几乎成了每个前端项目的标配,每个前端项目都要上这个,但总感觉语法丑陋,读起来也并没有很优雅,学习门槛也不低,所以是时候发出灵魂一问了,真的有必要上TypeScript吗?

一、成本分析

编译成本

在小型项目中,一个 tsc 命令即可完成编译,似乎看不出有什么明显的编译成本。然而,在大型项目中,可以借助 esbuild、rollup、webpack 等工具,也不差多一道 typescript编译的工序。

编写成本

使用 TypeScript 会增加很多type和interface定义。这要求开发者在编写代码时更加注重类型的明确性,可能会花费更多的时间在类型定义上,从而增加了整体的编写成本,这部分应该是最主要的成本了。

选择第三方库时候需要找有d.ts支持

现在很多都有自带或者第三方类型支持了,问题也不大了。

学习成本

都 2024 年了,前端工作者 / nodejs 工作者几乎必然需要学习这个。个人项目练练手,正好为大型项目做心理准备。有任意“带类型编程语言( c++、java 、...)”经验的人,应该都可以较快上手。

二、收益分析

错误提前暴露

TypeScript 能够将运行时错误提前到编译期暴露,这对于开发者来说是一个巨大的优势。那些曾经踩过坑的人都深知其香。在开发过程中,及时发现类型错误等问题,可以避免在运行时出现难以调试的错误,提高了代码的质量和稳定性。

智能提示

TypeScript 提供了强大的智能提示功能。即使别人的接口没有注释,通过查看类型定义也能连猜带蒙略知一二。这大大提高了开发效率,减少了因不熟悉代码而导致的错误。

重构保障

在进行代码重构时,TypeScript 多了一重保障。当接口类型发生变化时,编辑器会将相关地方全都标红,开发者可以清楚地知道哪些地方需要修改。而没有类型的话,只能人肉追溯代码调用链,或者使用 ctrl+F 进行查找,很难保证该改的地方都被修改了,对于项目和产品的长期价值来看的话,这个是随着时间累积最能体现TypeScript价值的收益了。

就个人的实践而言,TypeScript的收益远大于成本。在实际项目中,它不仅提高了代码的质量和可维护性,还提升了开发效率。虽然在学习和使用过程中会遇到一些成本,但这些成本都是可以通过不断的实践和优化来降低。

0 阅读:87