美文网首页
TypeScript——JavaScript的超集

TypeScript——JavaScript的超集

作者: ayusong870 | 来源:发表于2021-01-09 20:02 被阅读0次

    微软发布了一款 JavaScript 超集的编程语言并取名为 TypeScript,由于 TypeScript 是 JavaScript 的严格超集,因此任何 JavaScript 都是合法的 TypeScript(非常像 C 和 Objective-C 的关系)。TypeScript 为 JavaScript 带来了强大的类型系统和对 ES2015 的支持,它的编译工具可以运行在任何服务器和任务系统上。
    事实上 ES2015 发布之后 JavaScript 取得了巨大的进步,但随着设备性能的提升以及 JavaScript 在应用层上不断占据了重要的位置,对于大型项目,人们显然需要更强大的语言级别的支持(微软发现外部客户在开发大规模 JavaScript 应用的过程中遭遇的语言本身的短板)。

    类型系统实际上是非常好的文档,增强了编辑器在智能提示跳转定义代码补全 等方向上的功能,并且在编译阶段能发现大部分的错误,对于大型工程的代码可读性和可维护性起到了了不起的作用。

    TypeScript 的流行趋势

    事实上 TypeScript 拥有活跃的社区,大部分第三方库都有提供 TypeScript 类型定义文件,甚至知名的前端库都完全使用 TypeScript 来进行开发,比如 Google 的 Angular,我们可以通过一些数据来了解 TypeScript 的流行趋势:



    TypeScript 的优势和收益是什么

    TypeScript 官网上列了很多它的优势:

    • 类型系统可在编译阶段发现大部分的错误;
    • 类型系统也是一个很直观的编程文档,可以查看任何函数或API的输入输出类型;
    • 类型系统增强了编辑器或 IDE的功能;
    • TypeScript 可以自动的推导类型;
    • 一切 JavaScript 都是合法的 TypeScript 降低了使用成本;
    • TypeScript 拥抱 ES2015 以及 ESNext 草案规范;
    • 几乎第三方库都有 TypeScript 类型定义文件。
      rollbar 于 2018年统计了前端项目 Top10 的错误:https://rollbar.com/blog/top-10-javascript-errors/,事实上 TypeScript 在编译期的类型检查能解决上述 80% 的问题,对于大型工程来说收益是非常明显的。

    如果你有一个需要长期维护的工程,那么类型系统在可读性和可维护性上拥有比 JavaScript 更强大的动能,在良好的编程语境下,在稳定的工具链帮助下,TypeScript 可以说是目前唯一较好的选择。

    当然,凡事都有两面性,TypeScript 有一定的学习成本,比如:Interfaces、Generics、Enums 等前端工程师不是很熟悉的概念,短期内多少会增加一些开发成本,集成和构建一些库会有一定的工作量,比如我们用 React 来开发一个前端工程,那么你就需要进行一些配置,当然你也可以直接使用 create-react-app 来创建一个 TypeScript + React 工程

    TypeScript 与 JavaScript 对比表格

    相关文章

      网友评论

          本文标题:TypeScript——JavaScript的超集

          本文链接:https://www.haomeiwen.com/subject/ienaahtx.html