概述
TypeScript是现代JavaScript生态圈核心部分,是有程序员大神,安德斯.哈尔斯伯格,在继Delphi,J++,.net和C++之后又一个语言。是微软奉献给开源社区的神器之一。在npm上,在上个月,年7月TypeScript首次突破了每月超过万的下载量。
StackOverflow的最新开发人员调查中,TypeScript定位为第二受欢迎的语言(第一是Rust)。
在最新的JS调查状况中,大约89%的使用TypeScript的开发人员表示会再次使用它。
TypeScript是一种通过添加静态类型的语法在JavaScript之上构建的语言。这个想法是,通过记下值的类型以及它们的使用位置,可以使用TypeScript对代码进行类型检查,并在运行代码之前(甚至在保存文件之前)获得有关错误的信息。还可以使用TypeScript编译器从代码中剥离类型,并提供可在任何地方运行的简洁易读的JavaScript。
除了检查之外,TypeScript还使用静态类型来支持强大的编辑器工具,例如自动完成,代码导航,重构等。在VisualStudioCode或VisualStudio等编辑器中使用过JavaScript,那么已经在使用由类型和TypeScript提供支持的体验。
大版本变化总结
自从3.0开始TS发生了很多变化,首先TypeScript3.0本身带来大量改善,统一元组类型和参数列表是一大亮点,可在函数上启用大量现有的JavaScript模式。该发行版还提供了项目参考,以帮助扩展,组织和共享代码库。产生重大影响的一个小变化是3.0引入了类型安全的替代,any称为unknown。
TypeScript3.1扩展了映射类型的功能以处理元组和数组类型,并极大地简化了将属性附加到函数的过程,而无需诉诸于已失效的TypeScript特定运行时功能。
TypeScript3.2允许泛型类型的对象,并通过严格的输入leveraged3.0,以更好的模型元编程与功能bind,call以及apply相结合。
TypeScript3.3在3.2之后遵循一些稳定性,但是在使用联合类型方法时还带来了生活质量的改进,并在模式下增加了文件增量构建。--build
TypeScript3.4,进一步倾向于支持功能模式,更好地支持不可变数据结构,并改进了对高阶通用函数的推断。最大的亮点是引入了flag,它是一种避免每次运行TypeScript都完全重建而无需项目引用的方法,从而可以更快地进行编译和类型检查。--incremental
TypeScript3.5和3.6,加强了一些类型系统规则,以及更智能的兼容性检查规则。
TypeScript3.7是一个非常值得