Hay muchas maneras, pero yo recomendaría usar document.createElementde cualquier manera. Por ejemplo:
var image = <HTMLImageElement>document.createElement('img');
Se puede crear funciones de confort o clases que envuelven esto para usted.
Una de las otras formas sería, por ejemplo, para crear una referencia a la clase de imagen original antes de su definición de clase:
var ImageElement = Image;
...
export class Image {
...
}
var image = new ImageElement()
sin embargo, no será reconocido como HTMLImageElementejemplo, es decir, sin la terminación del código apropiado.
edit : aquí está mi no trabaja intento de aumentar el Windowinterfaz como se ha mencionado en los comentarios:
interface Window {
Image: new(width?: number, height?: number) => HTMLImageElement;
}
Se compila correctamente (es decir, sin errores), pero en Visual Studio que está marcado como un error, diciendo Duplicate Identifier 'Image', e intenta crear una instancia mediante new window.Image()aparecen marcados diciendo new expressions only valid on constructors. Es interesante que funciona muy bien en otras interfaces, y como ya se ha mencionado, se compila correctamente.