0
点赞
收藏
分享

微信扫一扫

一文带你了解什么是TypeScript


目录

  • ​​一、JavaScript最大的问题​​
  • ​​二、什么是TypeScript​​
  • ​​三、JS , ES , TS 的关系​​
  • ​​四、为什么使用TypeScript​​

一、JavaScript最大的问题

程序员编写的最常见的错误类型可以描述为类型错误:在预期不同类型的值的地方使用了某种类型的值。这可能是由于简单的拼写错误、无法理解库的 API 表面、对运行时行为的错误假设或其他错误。

使用​​JavaScript​​​编写代码最突出的问题就是类型检查问题:由于​​JavaScript​​是弱类型语言,使得大多数使用者只能在代码运行阶段才能发现类型错误问题,这就使得错误不能被及时发现和修复,为之后的开发埋下了隐患。

​JavaScript​​​没有表达不同代码单元之间关系的能力。结合 ​​JavaScript​​ 相当奇特的运行时语义,语言和程序复杂性之间的这种不匹配使得 ​​JavaScript​​ 开发成为一项难以大规模管理的任务。

​TypeScript​​​ 的目标是成为 ​​JavaScript​​ 程序的静态类型检查器——换句话说,是一个在代码运行之前运行的工具(静态)并确保程序的类型正确(类型检查),使得我们能够在代码编写阶段就能及时发现类型错误问题。

二、什么是TypeScript

​TypeScript​​​是一种由微软开发的自由和开源的编程语言。它是 ​​JavaScript​​的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

​TypeScript​​​ 是一种非常受欢迎的 ​​JavaScript​​​ 语言扩展。它在现有的 ​​JavaScript​​​ 语法之上加入了一层类型层,而这一层即使被删除,也丝毫不会影响运行时的原有表现。许多人认为 ​​TypeScript​​​ “只是一个编译器”,但更好的理解其实是把 ​​TypeScript​​ 看作两个独立的系统:编译器(即处理语法的部分)和语言工具(即处理与编辑器集成的部分)。

三、JS , ES , TS 的关系

  • 1995年:JavaScript诞生
    当时的网景公司正凭借其​​Navigator​​浏览器成为​​Web​​时代开启时最著名的第一代互联网公司。
    由于网景公司希望能在静态​​HTML​​页面上添加一些动态效果,于是 Brendan Eich 在两周之内设计出了
    ​JavaScript​​语言。
    之所以起名叫​​JavaScript​​,是原因是当时​​Java​​语言非常红火,想要蹭一波热度而已,实际上​​JavaScript​​除了语法上有点像​​Java​​,其他部分基本上没啥关系。
  • 1997年:ECMAScript诞生
    因为网景开发了​​JavaScript​​,一年后微软又模仿​​JavaScript​​开发了​​JScript​​,为了让​​JavaScript​​成为全球标准,几个公司联合​​ECMA​​(European Computer Manufacturers Association)(欧洲计算机制造商协会)组织制定了​​JavaScript​​ 语言的标准,被称为​​ECMAScript​​标准。
  • 2015年:TypeScript诞生
    ​​​TypeScript​​​ 是 ​​JavaScript​​ 的超集(最终会被编译成 ​​JavaScript​​ 代码),即包含​​JavaScript​​ 的所有元素,能运行​​JavaScript​​ 的代码,并扩展了​​JavaScript​​ 的语法。相比于​​JavaScript​​ ,它还增加了静态类型、类、模块、接口和类型注解方面的功能,更易于大项目的开发
    ​​​TypeScript​​​ 提供最新的和不断发展的 ​​JavaScript​​ 特性,包括那些来自 2015 年的 ​​ECMAScript​​ 和未来的提案中的特性,比如异步功能和 ​​Decorators​​,以帮助建立健壮的组件。

一句话总结三者关系:​​ECMAScript​​​是标准语言,​​JavaScript​​​是​​ECMAScript​​​的实现,​​TypeScript​​​是​​JavaScript​​的超集。

一文带你了解什么是TypeScript_javascript


一文带你了解什么是TypeScript_前端_02

四、为什么使用TypeScript

​TypeScript​​​扩展了​​JavaScript​​,提供强大的类型检查语法提示功能,结合诸如​​VS code​​这类编译器,能够极大的提高开发效率,降低项目后期的维护成本:

一文带你了解什么是TypeScript_javascript_03

一文带你了解什么是TypeScript_ecmascript_04


举报

相关推荐

0 条评论