基础知识
- enum 枚举
enum Color {Red = 1, Green, Blue}
- type, interface
- 联合类型 |
- 交叉类型 &
- typeof
获取一个变量声明或对象的类型 - keyof
获取一个对象中的所有 key 值interface Person {
name: string;
age: number;
}
type K1 = keyof Person;
- in
遍历枚举类型type keys = 'a' | 'b' | 'c';
type obj = {
[p in keys]: any
}
- extends
继承interface a {
name: string;
age: number
}
interface b extends a {
sex: string;
}
- Partial
Partial 将某个类型的属性全都变为可选项 - Required
将某个类型的属性全都变为必选项 - Readonly
将某个类型的属性全都变为只读,不能被重新赋值 - Record
Record<K extends keyof any, T> 将 K 中的所有属性的值转为 T 类型interface PageInfo {
title: string;
}
type Page = 'home' | 'about' | 'contact';
const x: Record<Page, PageInfo> = {
home: { title: 't1' },
about: { title: 't1' },
contact: { title: 't1' }
}
- Exclude
Exclude<T, U> 将某个类型中属于另一个的类型移除type T = Exclude<'a' | 'b' | 'c', 'a'>;
- Extract
Extract<T, U> 从 T 中提取 Utype T = Extract<'a' | 'b', 'a' | 'f'>;
|