带有任意数值属性名对象的TypeScript接口



我有一个对象,其中所有键都是数字,所有值都是字符串,如下所示:

var object = {
    1: "whatever",
    7: "whateverrr",
    ...
};

我是否可以为此编写一个TypeScript接口?我不知道所有的键是什么,但我知道它们是数字,值是字符串,所以我觉得应该可以做一些类型检查。

您可以使用索引签名来表示:

interface NumberToString {
    [n: number]: string;
}
var x: NumberToString;
x = { 1: 42 }; // Error
x[1].charAt(0); // OK
x['foo'] = 'bar'; // Still not an error, though

最新更新