TypeScript 中关联对象数组的接口

Posted

技术标签:

【中文标题】TypeScript 中关联对象数组的接口【英文标题】:Interface for associative object array in TypeScript 【发布时间】:2016-11-07 21:50:30 【问题描述】:

我有一个像这样的对象:

var obj = 
    key1: "apple",
    key2: true,
    key3: 123,
    .
    .
    .
    keyn: ...

所以obj 可以包含任意数量的命名键,但值必须都是字符串、布尔值或数字。

如何在 TypeScript 中将 obj 的类型声明为接口?我可以声明一个联合类型或类似的关联数组(或可变元组)吗?

【问题讨论】:

【参考方案1】:

是的,您可以使用index signature:

interface MyType 
    [key: string]: string | boolean | number;


var obj: MyType = 
    key1: "apple",
    key2: true,
    key3: 123
;

【讨论】:

您在文档中找到了吗?我已经搜索过(当然不是所有的东西......),但无济于事。链接将不胜感激!

以上是关于TypeScript 中关联对象数组的接口的主要内容,如果未能解决你的问题,请参考以下文章

UML中关联关系的多重性是啥?

我需要在 sequelize + typescript 中关联表

「软件设计」UML中关联,聚合和组合区别

CakePHP 中关联模型的名称

查找所有关联断开的对象

TypeScript,接口(Interfaces),对象、数组和函数的类型