如何编写类型以便在调用函数时domUtils.create('img')
获得返回的类型HTMLImageElement
?
export const domUtils = {
toArray<T>(element: T): T[] {
return [].slice.call(element);
},
get(selector: string): HTMLElement {
return document.querySelector(selector);
},
create(element: string): HTMLImageElement | HTMLElement {
if (element === 'img') {
return document.createElement(element) as HTMLImageElement;
}
return document.createElement(element) as HTMLElement;
}
};
const imageNode = domUtils.create('img');
像这样使用函数重载: