如何在 TypeScript 接口中指定特定字符串(字面量类型)
大家好!我刚开始学习 TypeScript,遇到了一个问题。我需要为一个对象创建一个接口,该对象有一个 `status` 字段。这个字段必须接受严格定义的值,例如:`"active"`、`"inactive"` 或 `"pending"`。如果尝试分配任何其他字符串,应该出现编译错误。
我尝试这样做:
```typescript
interface UserStatus {
status: string;
}
```
但这不合适,因为 `string` 允许任何字符串。我希望 TS 检查 `status` 字段的值是否是三个可能字符串之一。
我尝试使用 `enum`,但有人告诉我可以更简单地实现——使用字面量类型。如何正确描述这样的接口?并且能否让 IDE 在输入时提示可能的选项?
我想要的示例:
```typescript
const user1: User = { status: "active" }; // 正确
const user2: User = { status: "deleted" }; // 错误!
```
请告诉我如何实现。