我想在typescript中扩展本机javascript类型。这可以使用接口来声明扩展属性。 但是如何声明重载属性?
onload
谢谢
答案 0 :(得分:2)
你很亲密。
interface HTMLElement {
add(a:string): void;
add(a:boolean): void;
}
Tipp:我总是在lib.d.ts文件中查看Microsoft的实现。在这种情况下,我输入(使用Visual Studio代码):document.addEventListener并查看(使用ctrl +左键单击)Microsoft如何创建界面。
答案 1 :(得分:0)
可接受的答案要求实现包含替代的 all 。您还可以允许接口实现重载的 any :
interface HTMLElement {
add:
((a:string) => void) |
((a:boolean) => void);
}
class HTMLElementBool {
add(a:boolean):void{
// Assume bool
}
}
class HTMLElementString {
add(a:string):void{
// Assume str
}
}