TS学习总结
2021-03-22 16:09:22 0 举报
AI智能生成
TS学习总结
作者其他创作
大纲/内容
基础类型
安装编译
基础类型
布尔值
数字
字符串
数组
元组Tuple
枚举
any
任意类型
void
void类型像是与any类型相反,它表示没有任何类型
Null 和 Undefined
TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null
Never
表示的是那些永不存在的值的类型
Object
(object表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型)
类型断言(<> as)
变量声明
接口
定义(interface)
可选属性:?
只读属性:readonly
函数类型的接口
可索引的类型:[index: number]: string;
混合类型接口
实现(implements )
继承(extends)
接口也可以相互继承
一个接口可以继承多个接口
类
含义
继承
静态属性(static )
抽象类(abstract)
不会直接被实例化
抽象类可以包含成员的实现细节
抽象方法(抽象方法的语法与接口方法相似)
定义方法签名但不包含方法体
必须在派生类中实现
修饰符(private、protected、public、readonly、getter/setter)
函数
声明方式
参数类型定义
可选参数和默认参数
剩余参数(...扩展运算符)
返回值类型
this、箭头函数
重载
同一个函数提供多个函数类型定义
泛型
含义
添加了类型变量T
创建可重用的组件
支持多种类型的数据
泛型函数
泛型接口:interface GenericIdentityFn<T>
泛型类
枚举
定义一些带名字的常量
数字枚举
字符串枚举
联合枚举
类型推论
TS类型推论的方式
基础类型
最佳通用类型(let x = [0, 1, null])
计算通用类型算法会考虑所有的候选类型,
并给出一个兼容所有候选类型的类型
并给出一个兼容所有候选类型的类型
上下文类型
类型兼容性
TypeScript里的类型兼容性是基于结构子类型的
反向映射(从枚举值到枚举名字)
高级类型
交叉类型
多个类型合并为一个类型
联合类型
类型别名
type Name = string;
字符串字面量类型
type Easing = "ease-in" | "ease-out" | "ease-in-out";
数字字面量类型
索引类型(Index types)
映射类型
装饰器
装饰器工厂
装饰器组合(求值方式与复合函数相似)
类装饰器
类的构造函数作为其唯一的参数
方法装饰器
参数
对于静态成员来说是类的构造函数,对于实例成员是类的原型对象
成员的名字
成员的属性描述符
访问器装饰器(get/set)
参数
对于静态成员来说是类的构造函数,对于实例成员是类的原型对象
成员的名字
成员的属性描述符
属性装饰器
参数
对于静态成员来说是类的构造函数,对于实例成员是类的原型对象
成员的名字
参数装饰器
参数
对于静态成员来说是类的构造函数,对于实例成员是类的原型对象
成员的名字
参数在函数参数列表中的索引
参数装饰器只能用来监视一个方法的参数是否被传入
参数装饰器的返回值会被忽略
模块和命名空间
0 条评论
下一页