Avatar ·

如何在 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" }; // 错误! ``` 请告诉我如何实现。