Avatar ·

如何提取TypeScript接口属性的类型?

大家好!我是TypeScript新手,遇到了一个困扰我几个小时的问题。我有一个描述用户的接口: ```typescript interface User { id: number; name: string; email: string; role: 'admin' | 'user' | 'guest'; createdAt: Date; } ``` 现在我需要创建一个单独的类型,只对应这个接口中的 `role` 属性。也就是说,我想得到类型 `'admin' | 'user' | 'guest'`,而无需手动重新声明它。 我试过写类似 `type RoleType = User['role']` 这样的代码,但不确定这是否是正确的语法,也不确定在TypeScript中是否可能实现。我尝试搜索过,但找到了很多关于conditional types和mapped types的复杂示例,目前还不太理解。 请问有没有简单优雅的方法从接口中“提取”特定属性的类型?感谢提供代码示例和适合新手的解释。 标签:typescript, typing, 接口, 属性