最近几个月我已经全面抛弃 JavaScript,彻底使用 TypeScript 进行前端开发(只在上课的时候用到 JS)。前端
先说优势:面试
再说缺点:typescript
没有。哈哈。浏览器
不用慌,TS 的代码跟 JS 差很少,你学完 JS 后,只须要学习一下类型声明就能够掌握 TS 了。框架
若是你公司的项目目前只支持 JS,也没有关系,只须要加一个 ts-loader 或者 awesome-typescript-loader 就能提供 TypeScript 支持,TS 能够和 JS 共存哦。模块化
而后你就能够逐步用 TS 代替 JS,实现完美过渡。单元测试
若是你如今尚未开始学习 TS,确定是由于对 TS 有所顾虑。去问问用了 TS 的前端感受怎么样吧,基本没有一个说后悔的。因此这种顾虑是彻底没有必要的。学习
那么 TS 为何这么好呢?接下来咱们从理论上解释一下。测试
这是一个重要的问题:有没有什么办法能让我快速知道「代码有bug没」。lua
为了说明类型是如何解决这个问题的,咱们先来介绍一种最简单的类型:正负数。
咱们把实数分为三种类型:正数、负数和0。
而后看下面这个等式:
28937829 * -1239282 = 35862130598778
复制代码
聪明的你一眼就看出这个等式不对。为何?由于「正数」乘以「负数」必然获得「负数」。因此咱们根本不用运行这个乘法,就知道这个结果不对。
这就是类型好处。
TS 就是在 JS 上加上类型声明,这样咱们就能知道代码是否「大概」正确。
另外,这种方式速度很是快,快到你只要修改代码,TS 就能告诉你代码是否「大概」正确。
从而避免不少 bug。
你只须要稍微花一点点时间,就能让代码质量提高,何乐不为呢?
错,只要是有 bug 的 JS 项目,均可以用 TS 替代 JS 从而减小 bug。
因此不管是小项目仍是大项目,都有必要使用 TS。
这个问题问得好,前端发展这么快,不少东西都是火几年就不火了,致使后期想招人维护都难(好比 AngularJS 1)。
可是 TS 不存在这个问题。为何?
由于目前前端三大框架全都支持 TS 了:
若是有一年 TS 不火了,上面框架的维护者会提早为你想好升级方案的,你就没必要过多担忧了。
毕竟背靠大树好乘凉。
No No No,TS 里面包含了 JS 的全部语法,因此你在用 TS 的时候,实际上仍是在用 JS。
也就是说 JS 的魂还在,咱们只是再也不单独使用 JS 了。
快点学 TypeScript 吧,它很快就是一线互联网公司面试加分项甚至必备项了。
若是你有什么须要反驳的,欢迎反驳,可是请给出充足的理由,无心义的站队和灌水评论会被我删掉,这样咱们的讨论才会更有意义。
没有看完文章就评论的,也会被删除。