TypeScript 诞生 10 周年

来源: OSCHINA
编辑: 
2022-10-10 08:05:15
 7

TypeScript 已经诞生 10 年了。10 年前 ——2012 年 10 月 1 日,TypeScript 首次公开亮相。当时主导 TypeScript 开发的 Anders Hejlsberg 这样描述 TypeScript:

它是 JavaScript 的类型化超集,可被编译成常用的 JavaScript。TypeScript 还可以通过启用丰富的工具体验来极大地帮助提升生产力,与此同时开发者保持不变维护现有的代码,并继续使用喜爱的 JavaScript 库。

TypeScript is a typed superset of JavaScript that compiles to idiomatic (normal) JavaScript, can dramatically improve your productivity by enabling rich tooling experiences, all while maintaining your existing code and continuing to use the same JavaScript libraries you already love.

微软在博客中回顾了 TypeScript 刚亮相时受到的评价,大多数人对它都是持怀疑态度,毕竟这对于许多 JavaScript 开发者来说,试图将静态类型引入 JavaScript 是一个笑话 —— 或是邪恶的阴谋。反对者则直言这是十分愚蠢的想法,他们认为当时已存在可以编译为 JavaScript 的强类型语言,例如 C#、Java 和 C++。他们还吐槽主导 TypeScript 开发的 Anders Hejlsberg 对静态类型有 “迷之执着”。

当时微软意识到 JavaScript 未来将会被应用到无数场景,而且他们公司内部团队在处理复杂的 JavaScript 代码库时面临着巨大的挑战,所以他们觉得有必要创造强大的工具来帮助编写 JavaScript—— 尤其是针对大型 JavaScript 项目。基于此需求,TypeScript 也确定了自己的定位和特性,它是 JavaScript 的超集,将类型检查和静态分析、显式接口和最佳实践结合到单一语言和编译器中。通过在 JavaScript 上构建,TypeScript 能够更接近目标运行时,同时仅添加支持大型应用程序和大型团队所需的语法糖。

团队还坚持 TypeScript 要能够与现有的 JavaScript 无缝交互,与 JavaScript 共同进化,并且看上去也和 JavaScript 类似。

TypeScript 诞生之初的部分设计目标

  • 不会对已有的程序增加运行时开销
  • 与当前和未来的 ECMAScript 提案保持一致
  • 保留所有 JavaScript 代码的运行时行为
  • 避免添加表达式类型的语法 (expression-level syntax)
  • 使用一致、完全可擦除的结构化类型系统
  • ……

这些目标指导着 TypeScript 的发展方向:关注类型系统,成为 JavaScript 的类型检查器,只添加类型检查所需的语法,避免添加新的运行时语法和行为。

微软提到,TypeScript 拥有如今的繁荣生态离不开一个重要属性:开源。TypeScript 一开始就是免费且开源 —— 语言规范和编译器都是开源项目,并且以真正开放的方式来运作。事实上,微软当时对外展现出的姿态并不是现在的 “拥抱开源”,所以他们内部并没真正认识到 TypeScript 的开源是如何帮助它走向成功。因此有人认为,TypeScript 在很大程度上引导微软开始更多地转向开源。

现在,TypeScript 仍在积极发展和迭代改进,并被全球数百万开发者使用。在诸多编程语言排名、指数或开发者调查中,TypeScript 一直位居前列,也是最受欢迎和最常用的编程语言。

原文地址:http://www.cnblogs.com/sexintercourse/p/16786547.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性