现有的 JavaScript 代码有“记录”,其中 id 是数字,其他属性是字符串。尝试定义这种类型:
type t = {
id: number;
[key:string]: string
}
Run Code Online (Sandbox Code Playgroud)
给出错误 2411 id 类型编号无法分配给字符串
假设接口有一些已知的属性及其类型,并且可以有其他具有未知键和一些其他类型的属性,例如:
interface Foo {
length: number;
[key: string]: string;
}
const foo : Foo = {
length: 1,
txt: "TXT",
};
Run Code Online (Sandbox Code Playgroud)
TS错误:
'number' 类型的属性 'length' 不能分配给字符串索引类型 'string'。
应该如何键入这样的接口?