定义一个TypeScript函数,它接受一个键数未指定的对象



我有一个函数,它接受一个对象作为输入并返回一个对象。我想这样定义它:在输入或返回对象中可以有任意数量的键。

现在,我是这样定义的:

const myFunc: ({}) => ({})

是否有一个好的方法来编写它,以避免任何类型错误,同时也使用TS提供的优势?

你可以使用TypeScript的Record<K, V>类型来指定一个对象的任意键类型为K,值类型为V:

type MyObj = Record<string, any>;

键必须是字符串、数字或符号,但值可以是您指定的任何类型。您的函数将变成:

const myFunc = (obj: Record<???, ???>): Record<???, ???> => { /* ... */ };