摘要:
前言 为什么要使用构建工具? 1.转换ES6语法(很多老版本的浏览器不支持新语法) 2.转换JSX 3.CSS前缀补全/预处理器 4.压缩混淆(将代码逻辑尽可能地隐藏起来) 5.图片压缩 6. .... 为什么选择webpack? 基础概念 默认的配置文件是weback.config.js,在pac 阅读全文
摘要:
环境搭建 我们当然可以先用脚手架搭建React项目,然后手动配置成支持TypeScript的环境,虽然比较麻烦,但可以让你更清楚整个过程。这里比较麻烦,就不演示了,直接用命令配置好。 npx create-react-app appname --typescript 可以安装一些自己需要的库及其声明 阅读全文
摘要:
Jest是Facebook推出的一款单元测试工具。 安装 在package.json中添加脚本: 生成Jest配置文件(生成jest.config.js) 使用 先简单编写一个ts文件 编写测试用例: 执行测试脚本: 使用ts-jest的好处是,能够在测试用例中进行类型检查。 阅读全文
摘要:
使用流程 1.首先要清除类库是什么类型,不同的类库有不同的使用方式 2.寻找声明文件 JS类库一般有三类:全局类库、模块类库、UMD库。例如,jQuery是一种UMD库,既可以通过全局方式来引用,也可以模块化引用。 声明文件 当我们要使用一个类库时,需要ts声明文件,对外暴露API,有时候声明文件在 阅读全文
摘要:
命名空间 命名空间能有效避免全局污染。在ES6引入模块之后,命名空间就较少被提及了。如果使用了全局的类库,命名空间仍是一个好的解决方案。 随着程序的扩张,命名空间也会很大,需要对其进行拆分,在不同的文件中使用同名命名空间,他们之间共享命名空间。 命名空间最好不要和模块一起混用 模块化系统 TypeS 阅读全文
摘要:
交叉类型 将多个类型合并成一个类型,取两个类型的并集。与继承的区别是,继承可以有自己的属性,而交叉没有。 interface DogInterface { run():void } interface CatInterface { jump():void } let pet: DogInterfac 阅读全文
摘要:
类型推断 指不需要指定变量的类型,TS编译器可以根据某些规则自动推断出类型。 什么时候会有类型推断? 声明变量时没有指定类型 函数默认参数 函数返回值 ...... 注意:类型断言不能乱用,要对上下文环境有充足的预判,没有任何根据的断言会带来安全隐患! 类型兼容 TS允许类型相互兼容的变量(函数、类 阅读全文
摘要:
泛型的概念 指不预先确定的数据类型,具体的类型要在使用的时候才能确定。咋一听,是不是觉得JavaScript本身就是这样?这是由于理解有误。前面说“在使用的时候确定”,而非在程序执行的时候确定。 泛型函数 现在有个需求:一个被定义的函数原本输入字符串输出字符串,现在想让它同时支持输入输出字符串数组, 阅读全文
摘要:
版本 v3和v4有一些差距: https://blog.csdn.net/qq_35484341/article/details/80500237 以下的总结,都是基于V4的 官方文档:https://reacttraining.com/react-router/web/guides/quick-s 阅读全文
摘要:
什么是TypeScript? TypeScript是微软开发的一门编程语言,它是JavaScript的超集,即它基于JavaScript,拓展了JavaScript的语法,遵循ECMAScript规范(ES6/7/8+)。 TypeScript = Type + Script(标准JS),它可以编译 阅读全文