什么是Typescript以及其优缺点是什么

发布时间:2021-09-30 17:53:49 作者:柒染
来源:亿速云 阅读:149

什么是Typescript以及其优缺点是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

JavaScript可能是现代网络的事实上的语言,但长期以来,它也是我选择脚本编写的语言。  使用Python进行编码很有趣,但是如果我有一些自动化的东西,我会去用node。 我选择的服务器端语言曾经是C#,但如今它虽然功能强大,但感觉却很笨拙。  我曾经天真的将Node描述为"泛滥成灾",它满足了我编写的所有内容的需求。  我甚至可以用多种不同的方式用JavaScript编写Android和iOS应用程序。

并不是说它是适用于一切的完美工具,但是多年来我一直为我服务。 我一直在讽刺地承认在家庭主力马网上出现的缺陷,包括加里·伯恩哈特(Gary  Bernhardt)嘲讽的" Wat?"。 闪电般的谈话让我仍在思考。 如果您以前从未看过它,请立即停止阅读并继续观看。 您可以稍后感谢我。

闪电般的谈话已成为我推荐给前端开发人员的推荐阅读清单(查看清单还是消耗清单?)的一部分,还有乔纳森·克里默的" 23世纪JavaScript架构"。  

什么是Typescript?

我假设您听说过Typescript,但如果没有,请尝试总结一下:Typescript是强类型的Javascript。  它添加了您期望强类型语言的功能,并且需要一个编译步骤(从技术上来说是"翻译")才能将Typescript转换为JavaScript。  这是因为浏览器不了解Typescript。 从技术上讲,Typescript不会添加任何新的运行时功能,而是为开发人员添加功能。

我听说有人形容Typescript是喜欢它还是讨厌它,但是我还没有和任何尝试过并讨厌它的人交谈。  我已经与许多犹豫不决的人进行了交谈-大约在2016年中,我就是其中之一。 但是,我听到的同行对Typescript的最严厉批评是,这是一种额外的学习工具。  不仅是语言,而且还有构建过程。  但是,大多数现代的Web应用程序在其构建链中至少有一个链接以Babel的形式保留给JavaScript,Babel是一种允许较新的JavaScript在较旧的浏览器上运行的工具。  将TypeScript添加到该管道中不应该是火箭科学,尤其是因为Babel自v7起就支持Typescript编译。

它不应该是火箭科学,但有时会有这种感觉,这就是Typescript新手有时会挣扎并回到浏览器中运行的JavaScript受欢迎的原因之一。

好处

但是正如我所说,我从未听过有人采用Typescript并为此感到后悔。 好处远胜于困难,尤其是在使用Angular CLI或Create React  App的时代-两者都使您可以在几分钟之内开始使用启用了Typescript的新项目。

我假设您知道这些好处是什么,但是如果您不知道,请允许我总结一下:

但实际上,主要好处是Typescript使您的代码能够以JavaScript无法做到的方式进行自我描述。  当我是项目的唯一开发人员时,JavaScript并不是很糟糕,因为我可以将所有事情都牢记在心,并且我拥有完美的记忆,对吗? 错误。  即使是唯一的开发人员,我编写的代码也容易失忆。 如今,当我编写普通的JavaScript时,我讨厌不得不去阅读函数定义以弄清楚如何使用它。  我不知道它返回什么(如果有的话)或它接受什么样的参数。 我可能知道参数的数量及其名称,但这并不总是足够的:

function doTheThing() {  let error = false;    // About a million lines of code that might cause an error    return error;}function consumeTheThing() {  let error = doTheThing();  if (error) {    // What do I do with the error now?  }}

这就是我的意思。 "错误"是布尔值吗? 当我看到第2行时,它看起来肯定是这样,但是那到" doTheThing"末尾之间的一百万行代码又如何呢?  它可以是字符串,对象或知道什么的人。

您可能会说这种灵活性是一种资产。 可能是这样,但更常见的是它是一个陷阱,诱使您采用简单的方式,这会在您和您的同伴之间引起许多微小的挫败感。  曾经在别人的代码中间,觉得自己在迷宫中吗? 那就是别人的代码。 您可以用JavaScript编写"好的"代码,但是很少有人鼓励您这样做。

这就是TypeScript的美。 这并不会迫使您成为一名优秀的开发人员。 但这为您提供了实现此目标的工具。

缺点

有缺点吗? 当然有。

有点像是我的观点是单方面的-我并没有在缺点和优点上投入太多精力  我想,出于同样的原因,我不会花很多时间在每顿饭上都吃麦当劳的好处-这样做的好处有限(不必再做饭了……我想就是这样)。

未来

我认为Typescript不会在短期内取代JavaScript-了解后者对于使前者发挥作用至关重要。  而且我们不会看到Typescript在任何浏览器中本机运行。 它是一个预处理器,就像之前的CoffeeScript一样。  Typescript和Coffescript之间的区别在于后者是对其所基于语言的根本改变。 Typescript是自然的演变。  这不仅使学习变得更容易,而且使将JavaScript项目转换为Typescript的过程更加繁琐。 首先将* .js重命名为* .ts。  现在,您有了Typescript项目! 然后,您可以一次开始采用语言功能。 我不能保证这会很容易,但是它将告诉您有关JavaScript从未有过的事情。  当您开始下一个项目时,Typescript编译器将等待

看完上述内容,你们掌握什么是Typescript以及其优缺点是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 使用递归遍历并转换树形数据(以 TypeScript 为例)
  2. API是何时?以什么姿态开启了它的时代?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

typescript

上一篇:如何实现codeigniter中测试通过的分页类

下一篇:常见的JavaScript面试问题都有哪些呢

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》