可以在TypeScript中扩展(继承)类型吗?
大家好!我刚开始学习TypeScript,遇到了一个问题。我有一个基础用户数据的interface:
```typescript
interface User {
id: number;
name: string;
email: string;
}
```
现在我需要为管理员创建一个type,它拥有普通用户的所有字段,但还有角色(role)和权限级别(permissions)。我知道interface可以通过`extends`扩展,但这对通过`type`声明的类型也适用吗?
我尝试这样做:
```typescript
type User = {
id: number;
name: string;
email: string;
}
type Admin = User & {
role: string;
permissions: string[];
}
```
这确实有效,但有人告诉我这并不完全是“扩展”,而是类型交叉。有什么区别?有没有办法像interface那样对type进行经典的继承?提前感谢帮助!
<<>>
TypeScript中扩展类型的主要方法
是的,TypeScript中的类型可以扩展