我有以下界面:
interface Address {
street: string
town: string
country: string
}
我希望函数接受必须为三个字符串之一的键参数:
function useKey(key: "street" | "town" | "country") {
}
我能以某种方式从界面生成键参数的类型吗?
答案 0 :(得分:4)
对于这种确切的特定情况,Typescript具有keyof
类型运算符:
function useKey(key: keyof Address ) {
}
这将为您提供联合中某个类型的所有公钥。
您甚至可以使用类型查询来获取已归档字段的类型:
function getValue<K extends keyof Address>(key: K): Address[K]{
//...
}
答案 1 :(得分:2)
您可以使用keyof
运算符:
type AddressKey = keyof Address