• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

干货|5分钟带你快速了解TypeScript

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

近年来,TypeScript(TS)越来越频繁的出现在人们的视野内,在各大新闻,论坛上都能看到其身影,当今主流的三大前端框架react,Vue3.0和Angular2中的后两者都使用了TS进行编写,鼓励和支持大家使用TS进行开发。

 

那么,TS到底有什么魅力,让众多开发者如此青睐。

 

TypeScript是Microsoft(微软)开发的一种开源编程语言,是JavaScript(JS)的超集,可以编译成JS代码。使用JS编写的合法代码,可以在TS中直接运行。

 

 

相比JS,TS引入了静态检查,面向对象等特性供开发者使用,增强了代码的可读性和可维护性,下面简略的介绍下新特性将给我们带来的惊喜。

 

 

 

01 静态类型检查

 

了解JS的开发者都知道,JS是一门弱类型的语言。弱类型语言在使用时,变量的数据类型是不固定的。这会造成变量的类型会因为我们无意间的操作导致与预期不符合。

 

举个例子,比如我们定义了一个变量variable为’1’(string类型),在经过代码的一系列处理后,variable或许就变成了1(number类型),这在JS中算是比较常见的。

 

这样就导致了开发者需要时刻清楚,自己定义的变量在代码运行到什么时刻,会是什么数据类型,否则将会产生代码错误的风险。

 

继续用上面variable变量这个场景举例,一开始我们定义的变量为string类型,也许我们在之后想使用这个变量调用string的方法,但是在代码运行时variable变量的数据类型改变了,这就可能因为报错而导致程序流程无法正确进行。

 

 

而在TS中,引入了静态类型检查的特性,使TS变成“强”类型的语言(由于TS为JS的超集,JS中存在的一些隐式类型转换并没有被舍去,再加上TS中新增了any数据类型,即表示该数据类型可以是动态改变的,因此TS并不算真正意义上的强类型语言)。

 

当我们在定义变量时,可以对变量指定一个数据类型,当该变量的类型改变时(any除外),在代码编译时即会给出报错提示。

 

 

any 类型可以绕过检测

 

 

静态类型检查有利于我们构建大型应用。有时因为代码量过大,不能周全的进行测试,此时静态类型检测可以检测到那些没有被执行到的代码,找出其中由于类型修改而暴露出的代码问题,减少应用漏洞。

 

除此之外,静态类型检测也是一种数据类型上的提示和规范,可以提高开发团队中后期阅读和维护代码的效率。

 

 

02 面向对象特性

 

在JS中,可以说一切皆为对象,当我们用面向对象的思想进行封装代码时,不论是用构造函数,对象,还是es6新增的class时,其实本质上都是在使用JS的Object对象,这就要求在进行一些比较复杂的对象封装时,需比较熟悉对象的原型链等原理,才能封装出简洁,易读,易扩展的对象。

 

面向对象的三大特征为继承封装多态。JS虽然可以模拟实现继承和封装,但无法良好的模拟实现多态。

 

TS新增了类、接口、泛形等等这些特性。相比“灵活自由”的JS式封装,运用这些特性将会使初学者写的代码更加规范,更易于阅读和扩展,降低了一些封装的门槛,同时也方便了一些熟悉面向对象编程的开发者进行开发。

 

而对于大型的项目开发,这种面向对象的开发方式能有助于团队合作,提高开发人员的工作效率。

 

下面列举一个简单的分别运用es5,es6和ts来封装类的对比例子。

 

 

 

 

 

 

03 其他方面

 

以上两点为TS和JS最大的不同和优势,接下来说下其他一些小优点。

 

(1)良好的编码体验

  

TS增强了编辑器和IDE的功能,包括代码补全、接口提示、跳转到定义、重构等等。

 

(2)活跃的社区

 

目前已有越来越多的第三方库支持和提供TS声明文件;Google 开发的 Angular2 和国人尤雨溪带领开发的Vue3.0就是使用 TypeScript 编写的。

 

(3)包容的环境

 

TypeScript 是 JavaScript 的超集,.js 文件可以直接重命名为 .ts 即可;即使不显式的定义类型,也能够自动做出类型推论;可以定义从简单到复杂的几乎一切类型;即使 TypeScript 编译报错,也可以生成 JavaScript 文件。

 

虽然TS新增了面向对象的特性,但对一些不熟悉面向对象的开发者而言,需要增加一定的学习成本。

 

而对于短期的小项目而言,会增加一些开发的成本,不过对于中大型的,需要长期维护的项目来说,使用TS进行开发肯定是利大于弊的。

 

对于一些库来说,也许目前来说结合使用会有一定困难,不过随着时间推进和社区的努力,该问题会得到解决。

 

因此,是否立刻学习并使用还需要根据开发者个人的工作环境来决定,不过按照目前的趋势发展,TS的使用率越来越高,如果你拥有时间和能力,个人还是非常推荐开始学习TypeScript的。

- 完 -

想了解更多关于人工智能的资讯

欢迎关注普适极客

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Typescript 介绍和安装编译发布时间:2022-07-18
下一篇:
Typescript 如何使用js 库发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap