【发布时间】:2022-11-21 09:08:59
【问题描述】:
简单来说,我有一个接口A:
interface A { names: string[]; nr: number; }
我可以传递/创建一个 A 对象,这样:
{ names: ['John'], nr: 11 }
但是,如果不编写密钥我怎么能通过它,如下所示:
{ ['John'], 11 }
打字稿有可能吗?
【问题讨论】:
标签: typescript
简单来说,我有一个接口A:
interface A { names: string[]; nr: number; }
我可以传递/创建一个 A 对象,这样:
{ names: ['John'], nr: 11 }
但是,如果不编写密钥我怎么能通过它,如下所示:
{ ['John'], 11 }
打字稿有可能吗?
【问题讨论】:
标签: typescript
好像您正在寻找元组类型:
type A = [name: string[], nr: number];
const example: A = [['John'], 11];
这是一个示例TS playground link。
编辑:键控数组在 TS/JS 中并不是真正的东西,但也许你可以使用一个函数来获得想要的结果?
interface A { names: string[]; nr: number; }
function makeA (names: A["names"], nr: A["nr"]): A {
return { names, nr };
}
const a: A = makeA(['John'], 11);
console.log(a.name, a.nr);
【讨论】: