TypeScript写项目,比起js写,对维护和重构大型项目会更加容易,如何理解呢?

TypeScript写项目,比起javascript写,对维护和重构大型项目会更加容易,如何理解呢?

请问在写js项目的过程中有哪些场景体验呢?
从而能体现TS写项目更加容易维护和重构。

阅读 1.9k
4 个回答

类型系统可以让 IDE 和静态分析工具在构建阶段之前,就能够判断你的代码出现问题。比如,我们都知道,JS 支持不同类型的变量相加,但是不同的顺序,结果可能不同。于是这里如果不细心处理,就很可能会出问题。

于是我们就可以在开发时就发现问题,然后避免问题、或者解决问题。不至于在测试阶段才发现问题,然后发现由于架构原因,问题很难解决,需要大规模的重构,等等。

也可以避免因为测试覆盖不够,有些问题在测试阶段没能发现,等到上线了才发现。

另外,有了类型系统,IDE 可以更高效的推理出代码补全的效果,对我们日常开发也有帮助。

以我个人经验来说,ts团队大项目协作的时候会有优势,类型检测、代码自动完成和智能提示、接口和类:可以更好地组织和管理你的代码,这在大型项目中很重要。更好的重构支持,更好协作,方便团队理解你的代码,小公司小项目,没必要为了ts而ts,因为很多时候ts在这种项目上反而会影响开发进度,主要是看你的项目节奏,如果比较充裕可以考虑,还有你的掌握程度

假设一下。你接手了一个ts的项目。然后你看到封装了一个函数方法,比如add(a+b);类似这样的。如果是ts,并且已经定义了类型。 你就能看到入参是什么类型,出参是什么类型。那要是用js写的呐,你要看有没有注释了,或者去打印一下,看看具体函数才能知道。但是如果是ts的,你鼠标放上去就有提示,并且当你类型不对的时候也会提示你。所以这就对日后维护代码,有很大的帮忙了。当然了,不管js还是ts你都可以写注释 @params 这种的。也可也。

凡事都有两面性

javascript 的缺点就是,写啥都是 Any,你的 IDE 能给你提供的智能提示有限

而 TypeScript 就是为了弥补上述缺点而产生的,解决了上诉问题的同时,又代入了新的问题,具体可看:还没用熟 TypeScript 社区已经开始抛弃了

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