JavaScript 败北,TypeScript 大势所趋?

2019年12月30日 368点热度 0人点赞 0条评论

图片

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

图片

作者 | Mahdhi Rezvi

译者 | 明明如月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

你以前可能曾听说过“TypeScript”这个词。到现在 2019年,TypeScript 在 GitHub 最常用编程语言排行榜排名第 7 位,在增速最快的编程语言排行榜中占第 5 位。
TypeScript (TS) 是微软开发的一种开源编程语言,可以编译成 JavaScript (JS) 代码。自 2012 年发布以来,这门语言一直保持活跃发展并且越发受欢迎。
在早期,开发社区就将 TypeScript 和 Angular 紧密联系在一起。尽管用 JS 也不是不行,但是 Angular 强迫你使用 TypeScript。

图片
TypeScript 和 JavaScript 的区别是什么?

Typescript 是 JavaScript 的超集,可以被编译成 JavaScript 代码。 用 JavaScript 编写的合法代码,在 TypeScript 中依然有效。 Typescript 是纯面向对象的编程语言,包含类和接口的概念。 程序员可以用它来编写面向对象的服务端或客户端程序,并将它们编译成 JavaScript 代码。

图片

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

图片
为什么要用 TypeScript ?


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

图片
为什么不该用 TypeScript ?


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

图片
摘要


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

表格来自:Edureka

图片
结论


那问题来了:TypeScript 和 JavaScript 哪个更好?
由于 TS 的先天优势,TS 越来越受欢迎。但是请记住,TS 最终不可能取代 JS,因为 JS 是 TS 的核心。
选择 TypeScript 还是 JavaScript 要由开发者自己去做决定。如果你喜欢类型安全的语言,那么推荐你选择 TS。 如果你已经用 JS 好久了,你可以选择走出舒适区学习 TS,也可以选择坚持自己的强项,继续使用 JS。
本文到此结束,希望你能有所收获,轻松快乐的学习。
原文:https://medium.com/javascript-in-plain-english/is-typescript-the-way-forward-659caa2cb10f
作者:Mahdhi Rezvi,移动开发工程师,曼彻斯顿大学计算机专业本科生,热衷学习新技术。译者:明明如月,知名互联网公司 Java 高级开发工程师,CSDN 博客专家。
本文为 CSDN 翻译,转载请注明来源出处。
【End】
图片

热 文 推 荐 

小米回应“米家”商标争议;人人 App 回归社交市场;TiDB 2.1.19 发布| 极客头条

程序员该如何进行 SQL 数据库的优化?

漫画:什么是哥德巴赫猜想?

抗住 60 亿次攻击,起底阿里云安全的演进之路 | 问底中国 IT 技术演进

4万程序员学了10万次的课程,今天,曝光背后的讲师!

俄罗斯“扎克伯格”:创建区块链版“微信”,27 岁身价达 2.5 亿美元

什么是数字孪生?

6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选

图片点击阅读原文,即刻参加!
图片
你点的每个“在看”,我都认真当成了喜欢
7570JavaScript 败北,TypeScript 大势所趋?

root

这个人很懒,什么都没留下

文章评论