TypeScript类型体操入门

TypeScript的类型系统非常强大,本文介绍一些类型编程的技巧。

基础类型

1
2
3
4
5
6
type Name = string;
type Age = number;
type User = {
name: Name;
age: Age;
};

泛型约束

1
2
3
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}

条件类型

1
type IsString<T> = T extends string ? true : false;

类型编程让代码更加类型安全。