做为前端,是不是该学TypeScript?

售前免费咨询热线: 4 0 0 - 1 8 6 - 0 9 0 5
汇智资讯Huizhi information

当前位置:首页 »做为前端,是不是该学TypeScript?

做为前端,是不是该学TypeScript?

日期:2021-03-25 11:29:05 访问量: 来源:

我们都知道当前三大前端主流框架React、Vue、Angular,而当前React、Angular的项目已经深度融合TypeScript语言标准化开发。下面我就从React的角度来分析为什么一定要学习和使用Typescript,这样我们再结合Vue3类比更深刻的明白TypeScript带来的巨大优越性。

TypeScript

 传统JavaScript的痛点问题

1.JavaScript语言的弱类型问题。从web创建之初至今传统的浏览器应用开发最重要的脚本语言是JavaScript,用来处理网页、样式、数据交互等功能。最初JavaScript设计初衷是简单定义、方便使用,并没有像Java、C#等高级开发语言拥有强类型定义的特征。比如定义一个数字 var a=1;在后续的程序如果出现了 a = a + "23";结果a变量变成了字符串“123”,这就导致后续我们无法预判a的值到底经过多少转换,类型又经过了多少变化,很容易出现逻辑错误无法排查。

TypeScript

2.JavaScript不够友好实现面向对象开发。Java、C#等高级开发语言都是支持面向对象开发模式的,有利于拓展、复用,减少开发量。而JavaScript语言是基于原型链,虽然可以有方法模拟实现面向对象,但用法臃肿难用,不利于复杂项目的开发和维护。

TypeScript

3.传统JavaScript对外部引用不够友好,不利于共享和复用。现代化项目都是基于npm包管理,js都经过压缩编译,而如果纯粹的js没有说明文档很难使用,不知晓其中的用法和变量。

TypeScript优势

鉴于以上JavaScript语言存在的缺陷,TypeScript语言正是弥补了不足。

1.TypeScript是强类型语言,能够定义类型,有效避免逻辑错误。在TypeScript代码中,定义变量都是需要指明是什么类型,可以用一个有趣的比方“在TypeScript界,万物皆有类型”,即使真的是无法确定,也可以设置类型为any。当定义类型为number数字,那这个变量是不可以被变为其他类型的。比如以下例子:定义一个数字的变量。let a:number = 0; a = a+ '23'; JavaScript语言是能够转换,而TypeScript是不能转换的。这样就能从开发源头避免数据类型隐性转换导致的逻辑错误问题。

TypeScript

2.支持面向对象的各种特性,继承、多态、泛型等。在面向对象语言开发中,这些优秀的特性是能够让程序健壮、方便扩展的基石。TypeScript支持面向对象的定义方式。有效提高开发质量,提高代码复用性。

3.支持ts类型导出,方便第三方扩展和调用。这一点,我们可以看各大社区发布的npm包,其中都是最终会导出.ts的类型文件加上编译的js文件。这说明,我们用TypeScript语言开发最终可以导出ts类型和js库,当其他人需要使用时,可以根据ts类型进行知晓其中的变量、方法情况,非常有利于第三方扩展和调用。

TypeScript语言在React项目中的实践

项目引用TypeScript语言的通用的核心要点是:

1.ts解析库,package.json引入TypeScript库文件,这样可以执行tsc编译命令进行类型检查。

2.创建ts必要的配置文件tsconfig.json以及可选的ts检查配置文件tslint.json

3.配合项目中webpack等工具进行编译开发。

vue3中使用TypeScript

类比react,在vue3中使用,必然是一样的道理,你需要引入ts编译库,结合配置文件和webpack运行时环境进行开发动态编译。

TypeScript学习路线

我也是从JavaScript过渡到TypeScript的过来人,我的经验是先从TypeScript官方的基础教程开始出发,循序渐进理解TypeScript的各种特性。从简单的demo出发练练手。后续结合vue实际场景把原先的JavaScript写法改成TypeScript。这样逐步就可以过渡到TypeScript的现代化前端开发阵营,更规范工程化开发项目。

  写在最后

技术的发展总是充满共性特征,为了解决共通难题。前端项目无论是基于React还是基于Vue,通过TypeScript语言面向对象、强类型、方便扩展的优势,能让我们有效避免JavaScript语言开发存在的缺陷问题,更规范、更标准、更友好的进行前端工程化开发。作为前端我们要保持热情和好奇心,多探究,多学习,多思考,相信通过我们的努力,为用户创造更好的用户体验产品。

汇聚行业精英智慧

致力于高端IT技术人才培养

助力万千学员成就IT梦!

汇智动力

扫码关注 领取资料

www.hzdledu.cn

相关阅读Reading

全国热线:400-186-0905

总部热线:028-6547-1147

周一至周日9:30-24:00

我要咨询
汇智动力微信

汇智动力微信公众号