具有未知键但只有数字值的对象的打字稿类型?

Lud*_*igH 24 types object typescript

我有一个在运行时从外部源获取的对象。它具有任意字符串值键,但只有数字值。它可能看起来像:

{foo:1, bar:3} 
Run Code Online (Sandbox Code Playgroud)

但它也可能看起来像

{asdf: 1}
Run Code Online (Sandbox Code Playgroud)

我希望打字稿编译器知道对于所有存在的键,该值是 numeric。我尝试过诸如type numObj = {string: number}和 之类的东西type numObj = {[string]: number},但都不起作用。

什么是合适的类型声明?

Lud*_*igH 22

正如 jonrsharpe 在他的评论打字稿类型中给出的那样,具有未知键但只有数字值的对象?:

{ [键:字符串]:数字 }?阅读有关可索引类型的文档: www.typescriptlang.org/docs/handbook/interfaces.html


Fil*_*ima 12

Typescript 的Record实用程序类型也可以用于此目的。

type CustomType = Record<string, number>
Run Code Online (Sandbox Code Playgroud)