导图社区 typescript基础
TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序可以运行在TypeScript环境中。TypeScript是为大型应用的开发而设计,并且可以编译为JavaScript。本思维导图是对typescript的基础知识的整理,喜欢的小伙伴可以点个赞哦!
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
typescript
1.typescript是什么
2.typescript安装和编译
3.数据类型
1.布尔类型(boolean)
let merber:boolean = false
2.数字类型
let age: number=10;
3.字符串类型
let firstname: string='zfpx';
4.数组类型
let arr2: number[]=[4,5,6];
let arr3: Array=[7,8,9];
5.元组类型
在 TypeScript 的基础类型中,元组( Tuple )表示一个已知数量和类型的数组
const animal:[string,number,boolean] = ['cat',10,true];
元组和数组的区别
元组
每一项可以是不同的类型
有预定义的长度
用于表示一个固定的结构
数组
每一项都是同一种类型
没有长度限制
用于表示一个列表
6.枚举类型
事先考虑某一个变量的所有的可能的值,尽量用自然语言中的单词表示它的每一个值,比如性别、月份、星期、颜色、单位、学历
普通枚举
常数枚举
常数枚举与普通枚举的区别是,它会在编译阶段被删除,并且不能包含计算成员。
假如包含了计算成员,则会在编译阶段报错
7.任意类型(any)
4. 函数
5.接口interface
7.泛型
8.结构类型系统
9.类型保护
10.类型转换
1.交叉类型
交叉类型(intersection types)标示将多个类型合并成为一个类型
2.typeof
可以获取一个变量的类型
先定义类型,再定义变量
3.索引访问操作符
可以通过[] 获取一个类型的子类型
4.keyof
分支主题
5.映射类型
6.内置工具类型
ts中内置了一些工具类型来帮助我么更好地使用类型系统
1.Partial
Partial可以将传入的属性由非可选变为可选
7.条件类型
在定义泛型的时候能够添加进逻辑分支,以后泛型更加灵活
1.定义条件类型
2.条件类型的分发
3.内置条件类型
TS 在内置了一些常用的条件类型,可以在 lib.es5.d.ts 中查看
Exclude<T, U>
从 T 可分配给的类型中排除 U。
Extract<T, U>
从 T 可分配的类型中提取 U。
ReturnType<T>
获取函数类型的返回类型
InstanceType<T>
获取构造函数类型的实例类型。
拓展与坑
bigNumber.js处理数据
react + typescript
1安装各种包
2配置tsconfig.json
入口
出口
3 配置webpack
ts工厂化
编译参数
代码检查
Git Hooks检查
单元测试
Mocha
为js添加ts支持
持续集成
travis+github
gitlab私服
yml配置文件
11.类型声明
1-普通类型声明
声明变量
声明方法
声明类
声明接口
声明类型
2-外部枚举
3-命名空间
namespace
如果一个全局变量包括了很多子属性,可能使用namespace
在声明文件中的namespace表示一个全局变量包含很多子属性
在命名空间内部不需要使用 declare 声明属性或方法
4-类型声明文件
描述
可以在类型声明文件中使用类型声明
我们可以把类型声明放在一个单独的类型声明文件中
文件命名规范为*.d.ts
观看类型声明文件有助于了解库的使用方式
5-第三方声明文件
可以安装使用第三方的声明文件
@types是一个约定的前缀,所有的第三方声明的类型库都会带有这样的前缀
JavaScript 中有很多内置对象,它们可以在 TypeScript 中被当做声明好了的类型
内置对象是指根据标准在全局作用域(Global)上存在的对象。这里的标准是指 ECMAScript 和其他环境(比如 DOM)的标准
这些内置对象的类型声明文件,就包含在TypeScript 核心库的类型声明文件中
6-扩展全局变量的类型
1 扩展局部变量类型
2 模块内全局扩展
7-合并声明
为什么?
拓展
同一名称的两个独立声明会被合并成一个单一声明
合并后的声明拥有原先两个声明的特性
类既可以作为类型使用,也可以作为值使用,接口只能作为类型使用
使用
1 合并类型声明
2 使用命名空间扩展类
3 使用命名空间扩展函数
.4 使用命名空间扩展枚举类型
8-生成声明文件
把TS编译成JS后丢失类型声明,我们可以在编译的时候自动生成一份JS文件
概念
声明文件可以让我们不需要将js重构为ts,只需要加上声明文件就可以使用系统
类型声明在编译的时候都会被删除,不会影响真正都代码