Typescript 强制索引中键的边界
我尝试使用一个函数,它将索引作为参数,其中键被限制为T的键Typescript 强制索引中键的边界,typescript,generics,keyof,Typescript,Generics,Keyof,我尝试使用一个函数,它将索引作为参数,其中键被限制为T的键 function aliasSet<T>(values: {[x:keyof T]:string}) //compiler error: An index signature parameter type must be 'string' or 'number' 函数别名集(值:{[x:keyof T]:string}) //编译器错误:索引签名参数类型必须为“字符串”或“数字” 有没有办法做到这一点?这是正确的方法吗?
function aliasSet<T>(values: {[x:keyof T]:string})
//compiler error: An index signature parameter type must be 'string' or 'number'
函数别名集(值:{[x:keyof T]:string})
//编译器错误:索引签名参数类型必须为“字符串”或“数字”
有没有办法做到这一点?这是正确的方法吗?索引签名参数只能是
number
或string
(甚至不能是number | string
)
您正在查找映射类型,特别是记录
映射类型:
function aliasSet<T>(values: Record<keyof T, string>)
函数别名集(值:记录)
例:
声明函数别名集(值:记录):void;
接口O{
傅:号码,
条形图?:布尔值
}
别名集({
条:“,//记录删除可选性,如果希望所有项都是可选的,则可以使用部分
傅:“
})
索引签名参数只能是数字
或字符串
(甚至不能是数字|字符串
)
您正在查找映射类型,特别是记录
映射类型:
function aliasSet<T>(values: Record<keyof T, string>)
函数别名集(值:记录)
例:
声明函数别名集(值:记录):void;
接口O{
傅:号码,
条形图?:布尔值
}
别名集({
条:“,//记录删除可选性,如果希望所有项都是可选的,则可以使用部分
傅:“
})
太好了,就是这样!我在文档中看到了这个记录,但不太确定如何使用它。谢谢你!太好了,就是这样!我在文档中看到了这个记录,但不太确定如何使用它。谢谢你!