Fork me on GitHub

我们应该怎么学TypeScript

前言

之前有写过一些typescript的基础知识,但是并没有很好的将这些知识应用到很好的开发场景里面去,而且很多知识在没有使用之后很快会遗忘,因此总结根据慕课网文章来总结一些ts的学习之道。

学会看文档

ts的英文文档始终是保持更新的,一般遇到一些文档里面没有的问题,我们首先要先检查我们的ts版本,然后根据日志的更新记录去找到不同版本的ts更新记录,看下当前出问题的特性是在哪一个版本做的更新,当然如果不确定问题的话,可以考虑对ts降一个版本去亲自进行一个尝试。

Typescript也是有一个中文文档,但是这个文档只是对英文文档的翻译,而且对于官方文档中出现的一些纰漏并没有做校验。而且可能文档的版本稍微会有些滞后。但是也很感谢这些译者所做的贡献,这对于英文不好的开发者有很大的帮助。

学会看报错

ts的报错一般会有多种。

首先是tslint的报错,在对项目进行构建的时候,我们会使用Tslint对代码风格进行一个规范校验,根据Tslint配置的不同,提示对教过也不一样。如果我们配置当书写的代码不符合规范,使用error级别来提示时,会和TypeScript编译报错一样,在问题代码的下面用红色波浪线标出,鼠标放上去会有错误提示。所以我们使用Tslint的时候,遇到报错的时候,首先要区分的是Tslint报错还是TS报错,区分这两者的关键在于鼠标放上去的提示方框中,会标识tslint,说明是TSLint报了错。

后面括号是导致这条报错产生的原因,具体的规则no-console可以在tslint的配置文件里面对这条规则去进行一个修改。

上面这个代码报错是由于ts编译器报的错误。在我们写代码的时候,通过强类型系统,编译器可以在这个阶段检测到我们的一些错误。后面括号里面的是错误代码,所有的错误代码都可以在文档里面的错误消息列表查到。
还有一种运行时的错误,可以通过F12console控制台看到。这个就懒得说了。

学会看声明文件

在原来没有TypeScript的时候,有很多JS插件和JS库,如果使用TS进行开发再使用这些 JS 编写的插件和库,就得不到类型提示等特性的支持了,所以TypeScript支持为JS库添加声明文件,以此来提供声明信息。我们使用TypeScript编写的库和插件编译后也是JS文件,所以在编译的时候就可以选择声明文件,这样再去进行发布,使用者依然能得到TypeScript的特性支持。一些JS库的作者已经使用TS进行了重写,有些提供了声明文件,一些是没有的,大部分库都有社区的人补充了声明文件,如果使用了自身没有提供声明文件的库的时候,可以使用npm install @types/{模块名}来进行安装,当然我们也可以自行来为他补充。

看这些库的声明文件能够帮你提高对 TypeScript 的了解程度。因为可能你在实际开发中所接触的场景不是很复杂,运用到的 TypeScript 语法点也不是很全面,所以就会导致经常用的你很熟悉,不经常用的慢慢就忘掉了,甚至有的自始至终你都没有使用过。很多知识你只看理论知识,或者看简单的例子,是没法真正理解并深刻记忆的,只有在实际场景中去使用一下,才能加深理解。所以我们可以从这些库的声明文件入手,还有就是从TypeScript内置的lib声明文件入手。

学会搜问题和提问

途径1:百度 or google

自行学习。

途径2:看issue

ts的问答目前要比很多框架和基础只是少很多,如果途径1找不到答案的话,可以去github上面ts的官方repoissue里面去找对应的答案。

途径3.去提问

如果上面两个途径都没有找到答案,那你就可以自行去提问了,这也是个造福后人的方法。国内可以试试segmentfault,国外可以试试stackoverflow.当然也可以自己去github上面开issue

看优秀项目的源码

github上面按照关键单词去搜索就行了。

-------------本文结束感谢您的阅读-------------