Typescript从入门到精通

Typescript从入门到精通,第1张

最近学习Typescript有感

什么是 Typescript ?按照官方的说法是,Typescript (简称 Ts)是 javascript (简称 Js) 的超集,可以编译成标准的 Javascript 。

   为什么需要 Ts ?那大家想想平时开发中有没有遇到过一下问题:

明明测试环境没有问题,但是到正式环境的时候就会报一些类型相关的错误 , 例如:null.map is undefined ;null.foreach is undefined …

当重构的时候辛辛苦苦修改好一个函数的时候,但是你不知道在哪里还有引用 …

   诸如此类的问题归根到底还是因为 Js 是一门动态弱类型语言,变量可以赋予不同类型的数据,并且只会在执行阶段才会确定数据的类型。从而引出以下的问题:

1、对变量类型约束宽松,可以随便变更,造成阅读性差

2、运行时才确定数据类型,需消耗一定的运行时性能,并且因为数据类型的不确定性,Bug隐藏时间久远,且排查苦难。

   那么我们要怎么改善以上问题呢?没错,就是使用 Ts,我们即可得到更好的开发体验。比如:

1、增强IDE的支持,比如重构,代码补全,注释查看,引用查找等。

2、数据类型约束严格,立即发现错误,减少运行时环境中类型问题的错误

3、自文档化编程体验

   经过这么一段啰嗦,估计大家也已经知道 Ts 和 Js的区别,以及使用 Ts 的好处了。那么我们再看下 Ts 里都有什么数据类型。

首先回顾下ES6中的数据类型有哪些?

   Boolean、Number、String、Array、Function、Object、Undefined、Null .... 还有一个 Symbol ,不要因为不常用就忘记咯。

对应的 Ts 里除了以上的数据类型还有:

void 表示没有任何类型,一般用于表示函数没有返回值。

any 表示任何一种类型

never 表示永远不存在的类型,例如异常或者永远不会有返回值的函数。

tuple 也称为元组,表示一个给定数量,元素类型的数组

enum 也称为枚举类型

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/924766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存