Typescript 字符串通用约束作为计算键
我想定义一个泛型类型,在这里我可以传递一个字符串值作为泛型参数,并使用它来定义类型上的键,例如:Typescript 字符串通用约束作为计算键,typescript,generics,Typescript,Generics,我想定义一个泛型类型,在这里我可以传递一个字符串值作为泛型参数,并使用它来定义类型上的键,例如: const foo:MyType={ 您好:“再见”//此键是必需的 酒吧:2间 } 我尝试将其定义为: const type MyType={ [key:T]:字符串, 酒吧:号码, }; 但是我得到了一个错误,即索引签名参数类型必须是“string”或“number”,即使在此上下文中,它也必须是字符串。这个问题有不同的语法吗?或者这是目前typescript的局限性?可能是这样的: con
const foo:MyType={
您好:“再见”//此键是必需的
酒吧:2间
}
我尝试将其定义为:
const type MyType={
[key:T]:字符串,
酒吧:号码,
};
但是我得到了一个错误,即
索引签名参数类型必须是“string”或“number”
,即使在此上下文中,它也必须是字符串。这个问题有不同的语法吗?或者这是目前typescript的局限性?可能是这样的:
const foo: MyType<'hello'> = {
hello: "Goodbye", // this key is required
bar: 2
}
type MyType<K extends string> = {
bar: number;
} & Record<K, string>
const foo:MyType={
您好:“再见”//此键是必需的
酒吧:2间
}
类型MyType={
条:数字;
}&记录
可能是这样的:
const foo: MyType<'hello'> = {
hello: "Goodbye", // this key is required
bar: 2
}
type MyType<K extends string> = {
bar: number;
} & Record<K, string>
const foo:MyType={
您好:“再见”//此键是必需的
酒吧:2间
}
类型MyType={
条:数字;
}&记录