为什么TypeScript比JavaScript有优势?TypeScript和JavaScript区别在哪?

6,186 阅读3分钟

我的位置:ljn1998codeing.love

TypeScript和JavaScript是目前项目开发中比较流行的两种脚本语言,但JavaScript能否创建大型复杂的web应用,这恐怕没那么容易

于是我们选中另外一个解决方案——TypeScript

在过去的几年中,TypeScript受欢迎程度和使用率一直增长。目前最大的前端框架之一Angular就是使用TypeScript。并且2020年之后,React、Vue3.0也逐步像TypeScript靠拢。根据数据显示,大约60%的前端程序员正在使用或者使用过TypeScript,约22%希望使用并且保留学习意向

1e3a93be708f9dec600f2e1f72e396a.png

什么是TypeScript?

TypeScript简称TS,JavaScript的超集,就是在JavaScript的基础上做一层封装,封装出TS的特性,最终可以编译为JavaScript

TS最初是为了让习惯编写强类型语言的后端程序员能快速编写web应用,因为 JavaScript 没有强数据类型,所以 TypeScript 提供了静态数据类型,这是 TypeScript 的核心

随着项目不断壮大,越来越多的情断意识到静态数据类型的重要性。随着 TypeScript 越来越完善,拥趸越来越多,需求越来越大。最后由前端3大框架之一Angular2.x带头使用。

TypeScript的优势在哪?

静态类型

静态类型化是一种功能,可以在开发人员编写脚本是检测错误,有了这项功能,就会允许开发人员编写更健壮的代码并对其进行维护,以便使得代码质量更好、更清晰。

下面这段代码:

7dc93a47fcb5ffc7816ee4d77d1a0ff.png

从代码可知变量num是number类型,如果我们给num赋予其他类型的值就会报错。

在函数中的表达:

ba5c67896cd0b5c5cdf102f152ebf99.png

这样是不是很清晰表达出来,函数fun接受两个类型的number的参数,传入非number的参数报错。

除此之外TypeScript还有多种数据类型,详细大家可以在文档中查看 TypeScript文档

大型项目的优势

对于大型项目的开发,有时为了优化改进项目,对代码进行小小更改。这些小小的变化可能会产生严重的、意想不到的后果,因此有必要撤销这些变化。使用TypeScript工具来进行重构更变的容易、快捷。

更好的协作

对于大型项目的开发一般会有很多开发人员一起开发,此时乱码和错误的机也会增加。类型安全是一种在编码期间检测错误的功能,而不是在编译项目时检测错误。这为开发团队创建了一个更高效的编码和调试过程。

TypeScript和JavaScript区别在哪?

  • TypeScript能使用JavaScript 中的所有代码和编码概念
  • TypeScript 从核心语言方面和类概念的模塑方面对 JavaScript 对象模型进行扩展
  • JavaScript 代码可以在无需任何修改的情况下与 TypeScript 一同工作,同时可以使用编译器将 TypeScript 代码转换为 JavaScript
  • TypeScript 通过类型注解提供编译时的静态类型检查
  • TypeScript 中的数据要求带有明确的类型,JavaScript不要求
  • TypeScript 为函数提供了缺省参数值
  • TypeScript 引入了 JavaScript 中没有的“类”概念
  • TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中

至于什么该使用TS或JS,我认为在构建复杂大型web应用时TS是首选,项目不复杂时只需灵活运用JS就已经足够了。

第一次写文码字,有些语句不通顺之处请各位多多担待,若有错误请各位大佬及时指出,多谢各位

我们下篇文档说下TS和JS的使用有何不同...