繁体   English   中英

如何在 TypeScript 中为 Object.entries function 添加过载

[英]How can I add an overload for the Object.entries function in TypeScript

我有一个自定义类型, SpecialRecord<K,V>并想定义Object.entries在其上的行为方式。 这类似于Object.entriesRecord类型上的行为方式的定义。

我尝试在 global.d.ts 文件中重载该方法,但它似乎没有采用这个定义。 另外,我想扩展定义,而不是完全覆盖它。

interface Object {
    entries<K, V>(obj: SpecialRecord<K,V>): [K,V][]
}

如果我改为将其xentries然后使用xentries它会通过输入。 这表明文件正在被加载(当然这在运行时会失败)。

如何正确地向 Object.entries 添加其他类型?

entries()是在 ObjectConstrutor 中定义的,所以你可以这样做:

interface MyInt {
  foo: string;
}

interface ObjectConstructor {
  entries(obj: MyInt): ['foo', string];
}

const myobj: MyInt = {foo: 'a'};
const t = Object.entries(myobj);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM