Typescript 如何将字符串参数限制为某个键值
我正在使用Typescript 如何将字符串参数限制为某个键值,typescript,Typescript,我正在使用数组。TypeScript中的一些函数。我需要限制作为某个对象的键接收的可能字符串 表单示例我有一个数组,其中包含一些对象属性的名称,并且我的对象实现了一个接口: const props=[“a”、“b”、“c”] 接口A{ a:有吗, b:有吗, c:有吗 } 然后我调用some函数 props.some( (prop) => { // ... }) 我试过: props.some( (prop: keyof A) => {
数组。TypeScript中的一些函数。我需要限制作为某个对象的键接收的可能字符串
表单示例我有一个数组,其中包含一些对象属性的名称,并且我的对象实现了一个接口:
const props=[“a”、“b”、“c”]
接口A{
a:有吗,
b:有吗,
c:有吗
}
然后我调用some函数
props.some( (prop) => {
// ...
})
我试过:
props.some( (prop: keyof A) => {
// ...
})
但我收到了“类型字符串不能分配给类型keyof A”
这通常是如何解决的?在定义数组时,将其定义为const
,将其类型化为元组,其成员都是a的键,这样它就不会自动扩展到字符串[]
:
const props = ["a", "b", "c"] as const;
然后
将prop
键入为'a'|'b'|'c'
定义数组时,将其定义为const
,使其键入为元组,元组的成员都是a的键,这样它就不会自动加宽为字符串[]
:
const props = ["a", "b", "c"] as const;
然后
将prop
键入为'a'|'b'|'c'