最近学习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 也称为枚举类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)