JavaScript 败北,TypeScript 大势所趋?

前端大学

共 1963字,需浏览 4分钟

 ·

2020-01-08 23:22

(给前端大学加星标,提升前端技能.

来自: CSDN 译者:明明如月 责编:郭芮

https://medium.com/javascript-in-plain-english/is-typescript-the-way-forward-659caa2cb10f

由于TypeScript的先天优势,TypeScript越来越受欢迎。那问题来了:TypeScript 和 JavaScript 究竟哪个更好?JavaScript真的会败北吗?

082972e1582275dd4c62ceb6293e197c.webp

以下为译文:

你以前可能曾听说过“TypeScript”这个词。到现在 2019年,TypeScript 在 GitHub 最常用编程语言排行榜排名第 7 位,在增速最快的编程语言排行榜中占第 5 位。TypeScript (TS) 是微软开发的一种开源编程语言,可以编译成 JavaScript (JS) 代码。自 2012 年发布以来,这门语言一直保持活跃发展并且越发受欢迎。在早期,开发社区就将 TypeScript 和 Angular 紧密联系在一起。尽管用 JS 也不是不行,但是 Angular 强迫你使用 TypeScript。
1. TypeScript 和 JavaScript 的区别是什么?Typescript 是 JavaScript 的超集,可以被编译成 JavaScript 代码。 用 JavaScript 编写的合法代码,在 TypeScript 中依然有效。 Typescript 是纯面向对象的编程语言,包含类和接口的概念。 程序员可以用它来编写面向对象的服务端或客户端程序,并将它们编译成 JavaScript 代码。

9b88880afb6cbaa4e85657f2177da16a.webp

TypeScript和 JavaScript的关系,图源:GeeksforGeeks
TypeScript 引入了很多面向对象程序设计的特征,包括:
  • interfaces  接口
  • classes  类
  • enumerated types 枚举类型
  • generics 泛型
  • modules 模块
主要不同点如下:
  • TS 是一种面向对象编程语言,而 JS 是一种脚本语言(尽管 JS 是基于对象的)。
  • TS 支持可选参数, JS 则不支持该特性。
  • TS 支持静态类型,JS 不支持。
  • TS 支持接口,JS 不支持接口。


2. 为什么要用 TypeScript ?


  • TS 在开发时就能给出编译错误, 而 JS 错误则需要在运行时才能暴露。
  • 作为强类型语言,你可以明确知道数据的类型。代码可读性极强,几乎每个人都能理解。
  • TS 非常流行,被很多业界大佬使用。像 Asana、Circle CI 和 Slack 这些公司都在用 TS。


3. 为什么不该用 TypeScript ?


  • TS 需要编译。TS 得通过编译才能变成 JS 代码。
  • 随着时间的推移,类型可能变得非常复杂。当项目不断变大时这种情况十分常见。
  • 尽管 TS 是类型安全的,在有些情况下编译器也有检查不出任何错误的情况。当我们修改编译后的 JS 代码时,错误就不可检测了。不过随着编译器不断改进,这种情况会越来越少。



4. 摘要



JavaScriptTypeScript
语言脚本语言面向对象编程语言
学习难度灵活易学需要有脚本编程经验
类型轻量级解释编程语言强类型的面向对象编程语言
客户端/服务端客户端服务端都有侧重客户端
拓展名.js.ts 或 .tsx
耗时更快编译代码需要些时间
数据绑定没有类型和接口的概念使用类型和接口表示数据
注解不需要注解使用注解才能最大限度发挥 TypeScript的特性
语法所有的语句都写在脚本标签内。浏览器将脚本标签内的文本识别为脚本一个 TypeScript 程序由模块、方法、变量、语句、表达式和注释构成。
静态类型JS 中没有静态类型的概念支持静态类型
模块支持不支持模块支持模块
接口没有接口支持接口
可选参数方法不支持支持
原型没有这种特性支持原型特性
开发者社区JS 使用范围很广,被编程社区广泛接受和使用TS 比较新,编程社区相对较小
参考选择小型项目TS 是一种面向对象语言,代码更简洁,可读性和复用性强。因此 TS 更适合大型项目。

表格来自:Edureka


5. 结论那问题来了:TypeScript 和 JavaScript 哪个更好?由于 TS 的先天优势,TS 越来越受欢迎。但是请记住,TS 最终不可能取代 JS,因为 JS 是 TS 的核心。选择 TypeScript 还是 JavaScript 要由开发者自己去做决定。如果你喜欢类型安全的语言,那么推荐你选择 TS。 如果你已经用 JS 好久了,你可以选择走出舒适区学习 TS,也可以选择坚持自己的强项,继续使用 JS。本文到此结束,希望你能有所收获,轻松快乐的学习。

分享前端好文,缺个 在看 f2ba6208e5c8cceabf6a0bb5a4bb2916.webp

浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报