我想用其他方法扩展内置类 HTMLElement。也许我要疯了,但我认为以下是官方成语:
interface HTMLElement {
swapChildBefore(remove: HTMLElement, insert: HTMLElement, before: HTMLElement): void;
}
HTMLElement.prototype.swapChildBefore =
function (remove: HTMLElement, insert: HTMLElement, before: HTMLElement): void {
this.removeChild(remove)
this.insertBefore(insert, before)
}
至少,根据原型如何在打字稿上扩展?,这样的事情应该可以工作。
但是,这似乎隐藏了 HTMLElement 上的所有现有方法。那是因为我声明了一个接口,它隐藏了同名的类吗?但是这个习语似乎适用于 Object 和 Array,它们也是类。