JavaScript vs TypeScript哪家强?

JavaScript vs TypeScript哪家强?

JavaScript vs TypeScript哪家强?

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

转载 | **** 公众号

TypeScript (TS) 是微软开发的一种开源编程语言,可以编译成 JavaScript (JS) 代码。自 2012 年发布以来,这门语言一直保持活跃发展并且越发受欢迎。

在早期,开发社区就将 TypeScript 和 Angular 紧密联系在一起。尽管用 JS 也不是不行,但是 Angular 强迫你使用 TypeScript。

1

TypeScript 和 JavaScript 的区别是什么?

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

JavaScript vs TypeScript哪家强?

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

摘要


JavaScript TypeScript
语言 脚本语言 面向对象编程语言
学习难度 灵活易学 需要有脚本编程经验
类型 轻量级解释编程语言 强类型的面向对象编程语言
客户端/服务端 客户端服务端都有 侧重客户端
拓展名 .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。

本文到此结束,希望你能有所收获,轻松快乐的学习。

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

RECOMMEND

推荐阅读

JavaScript vs TypeScript哪家强?

01

JS入门,首选畅销二十年经典著作:犀牛书

JavaScript vs TypeScript哪家强?

JavaScript权威指南(第6版)》

“本书是JavaScript程序员的必备参考……内容组织得很好,而且非常详细。”

--JavaScript之父Brendan Eich

推荐理由:1996年以来,犀牛书已经成为JavaScript程序员心中公认的权威指南。本书凭借着完整的内容、细致的讲解以及海量针对性的示例而受到读者的一致好评,二十多年来印刷超过1000000册,畅销不衰。是JavaScript和前端开发领域不可多得的佳作。

这本厚达1010页的巨著主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。对于那些希望学习Web编程语言的有经验的程序员和希望精通JavaScriptJS程序员,本书最适合不过了。本书不仅适合初学者系统学习,而且适合有经验的JavaScript开发者随手翻阅:初学者读完本书,将会对JS有全面的认识,快速掌握JS最核心的技术。而有经验的开发者读完本书,会让你对JS的理解有从量变到质变的深层次飞跃。

点击链接了解详情并购买

JavaScript vs TypeScript哪家强?

02

在游戏式开发中轻松掌握JS技术:老鹰书

JavaScript vs TypeScript哪家强?

《JavaScript编程精解(原书第3版)》

 编程原理与运用规则的简练、完美融合。我喜欢游戏式的程序开发教程。本书再次点燃了我学习编程的热情。对了,是JavaScript!

——Brendan Eich,JavaScript之父

 

“这是一本好书,适合那些没有JavaScript经验,甚至没有编程经验的人阅读。”

——Nicholas Zakas,世界知名Web技术专家,撰写多部JS畅销书籍。

推荐理由:这本书由世界知名JS工程师撰写,JS之父BrendanEich及世界知名专家强力推荐,提纲挈领地介绍了JS语言的主要功能和特色,读者可以通过学习这些内容循序渐进地掌握基本的编程概念、技术和思想。为了读者能够较快地上手实际的项目,这本书还安排了5个实战章节,涉及路径查找、自制编程语言、平台交互游戏、绘图工具和动态网站等方面,这些章节教会你如何利用掌握的知识实现各种功能,并组成一个完整的项目。

JavaScript编程精解》第3版包含了JavaScript语言ES6 规范的最新功能,比如绑定、常量、类、promise等。通过学习本书,你能了解该语言的最新发展,并编写出更强大的代码。相对于犀牛书是绝佳的的补充学习读本。

点击链接了解详情并购买 

JavaScript vs TypeScript哪家强?

03

使用TypeScript 3.0和不同的JavaScript框架来开发高质量的应用程序

JavaScript vs TypeScript哪家强?

《TypeScript项目开发实战》

点击购买

推荐理由:本书是一本TypeScript进阶实践指南,通过9个实用项目,详细讲解如何使用TypeScript 3.0和不同的JavaScript框架开发高质量的应用程序。书中不仅介绍TypeScript的核心概念与技术,还涵盖Angular和React的一些新功能,以及GraphQL、微服务和机器学习等相关的新技术。学习完本书后,你将能够自信地使用TypeScript 3.0和不同的JavaScript框架来开发高质量的应用程序。

JavaScript vs TypeScript哪家强?

更多精彩回顾

书讯 |华章计算机拍了拍你,并送来了8月书单(下)

书讯 | 华章计算机拍了拍你,并送来了8月书单(上)

上新 | 三个男人一台戏,为云原生应用和OpenShift写了一本书
书单 | 《天才引导的历程》| 西安交通大学送给准大一新生的礼物

干货 | 机器人干活,我坐一边喝茶——聊聊最近爆火的RPA

收藏 | 揭秘阿里巴巴的客群画像

JavaScript vs TypeScript哪家强?