译者│翟珂
红桥ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
JavaScript是深受大众喜欢的脚本语言。自从它诞生以来,它一直是网络开发的主导语言。20年后,微软推出了TypeScript,是JavaScript的超集,专为开发大型网络应用程序而设计。
如果你对Typescript和JavaScript有所了解,你就会知道它们不会相互竞争。它们有一种独特的关系,共同发展。让我们来分析一下它们的优缺点,以便将来你能够更好的为项目选型。
JavaScript是世界上最流行的编程语言之一。
让我们从头讲起。自90年代以来,JavaScript一直是网络应用的核心技术。它用来与HTML和CSS结合创建交互式网页。它是一种具有动态类型和JIT(Just-in-Time)编译器的高级语言。
JavaScript是一种多范式语言,支持各种编程风格,如函数式编程、命令式编程和事件驱动式编程。它还支持编写服务器端。JavaScript是在ECMAScript(ES)标准的基础上形成的。在JavaScript中使用最广泛的ES标准是ES5和ES6。
TypeScript (TS) 是一个 JavaScript 超集,其目标与 JavaScript 相同。
TypeScript 是一种开源编程语言,具有许多特性,如继承、类、可见性范围、命名空间、接口、合并和其他现代特性以及静态和动态类型。它支持注释、变量、函数、语句、模块和表达式。
作为一种强类型的编程语言,TypeScript调试(在编译过程中)更容易,所以更适用于复杂应用。
JavaScript项目的复杂性呈指数级地增长。最初,JavaScript只被用作客户端语言。但开发人员慢慢意识到,它也可以作为一种服务器端的编程语言。
尽管JavaScript有很多优点,但它在服务器端会变得混乱和复杂(特别是对于大规模的应用程序)。同时,JavaScript还会使大型复杂的应用程序难以维护。
而浏览器不断的迭代和跨浏览器的兼容性也要求对底层的JavaScript进行改变,但继续改造JavaScript来解决这些并不实际。所以TypeScript应运而生。
JavaScript |
TypeScript |
支持动态网页内容 |
为帮助项目解决代码复杂性而创建的JavaScript超集 |
解释性语言,因此只有在运行时才会发现错误 |
在编译期间可以检测和修复错误 |
弱类型,无法选择静态类型 |
强类型,支持静态和动态类型 |
可以直接在浏览器中使用 |
将代码转换为 JS 以实现浏览器兼容性 |
不支持模块、泛型和接口 |
支持模块、泛型和接口 |
不支持可选参数 |
可选参数可以添加到函数中 |
使用数字和字符串作为接口 |
数字和字符串是对象 |
大量社区支持,包括大量文档 |
社区支持正在增长,不像以前那么强大 |
不支持原型设计 |
原型设计是一个可行的选择 |
不需要事先的脚本知识 |
学习和编码需要时间,需要脚本知识 |
无需设置构建环境 |
对于静态类型定义,需要适当地构建设置(npm 包) |
根据我的描述,TypeScript似乎只是JS的一个更好的版本。所以你可能会认为TS会在不久的将来取代JavaScript。其实不然,我仍然相信JavaScript会有用武之地。
复杂性是一个需要考虑的关键因素。
JavaScript 非常适合更简单的应用程序,因为它可以在所有平台(跨平台)上运行并且非常轻量级。另外,与JS的最小开销相比,编译TS代码需要的时间和CPU资源对项目而言会更麻烦。
与JavaScript相比,TypeScript有很多好处。
TS 使代码重构变得更加容易,并且更强调显式类型,使开发人员能够掌握各种组件的交互方式。由于它支持编译时调试,对于处理大型复杂应用程序的团队来说,有一定的好处。
为任何项目设置TypeScript都是容易的。一些框架,如Angular,默认使用TypeScript。因此,在我看来TypeScript更胜一筹。
尽管TypeScript有许多优点,但它也有某些缺点。
需要准确的定义类型,在使用的时候是比较麻烦的,但从长远来看,可以节省时间和资源。这是选择JavaScript的最常用的理由。
你不可能把一个大型的JavaScript项目迁移到严格的TypeScript上。虽然有一些工具可以协助,但你还是需要自己迁移大部分的代码。
TypeScript代码编译需要时间和CPU资源,所以需要等待一会才能看到改变。与传统的JavaScript不同,实时编码会有一点影响。在海量代码库上,这些工具也会显着减慢,导致导航等显着延迟。
当代码的大小、复杂性和出错率增加时,需要在编译过程中确定具体问题时,就可以使用TypeScript。
TypeScript 还具有接口和访问修饰符,允许开发人员在单个代码库上进行协作和交互。因此,最好在项目一开始就使用TypeScript。
但是你如果喜欢像Ember.js或Glimmer.js这样的框架,那你就不会喜欢TypeScript,这些框架的首选是JavaScript。
由于 TypeScript 转换为普通的 JavaScript 代码,因此你可以将其用作 JavaScript 的替代品。这就是为什么它更容易被接受。当然我们也能看到TS被集成到流行的JS框架的核心构建组件和库中,如Angular、React和Vue.js。
就个人而言,我是TypeScript的粉丝,通常建议新项目使用它。在开始的时候多花点心思,就省得以后头疼了。
我希望这篇文章能够帮助你更好地理解这两种脚本语言之间的差异。至少,你已经对TypeScript到底是什么有了更好的了解。现在你可以为你的下一个项目作出更明智的选择了。
翟珂,社区编辑,目前在杭州从事软件研发工作,做过电商、征信等方面的系统,享受分享知识的过程,充实自己的生活。
网页题目:你真的知道 JavaScript 和 Typescript 之间的区别吗?
地址分享:http://www.mswzjz.cn/qtweb/news8/274508.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能