我想向HtmleLementAgnameMap中的所有接口添加链接功能.
interface HTMLElement {
doSomething<K extends keyof HTMLElementTagNameMap>(anArgument: any): HTMLElementTagNameMap[K]
}
这当然不起作用,因 for each 扩展HTMLElement
的接口现在都包含一个doSomething
方法,该方法将返回HTMLElementTagNameMap
个值中的任何一个.相反,我希望HTMLTableElement.doSomething
返回HTMLTableElement
类型的对象,HTMLDivElement.doSomething
返回HTMLDivElement
类型的对象,以此类推.
这样的泛化是可能的,还是我需要 for each 接口"复制"它?
如果可能的话,我该怎么做?