# TypeScript 高级类型

掌握这些技巧让你的代码更安全！

## 泛型约束

```typescript
function identity<T extends { id: number }>(arg: T): T {
  return arg;
}
```

## 条件类型

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

## 映射类型

```typescript
type Readonly<T> = {
  readonly [P in keyof T]: T[P];
};
```

你用 TypeScript 多久了？有什么心得？