Existuje mnoho způsobů, ale já bych doporučit používat document.createElementjakýmkoliv způsobem. Například:
var image = <HTMLImageElement>document.createElement('img');
Mohli byste vytvořit komfortní funkce nebo třídy, které se táhnou za vás.
Jedním z dalších způsobů, jak by se například vytvořit odkaz na původní třídě obrazu před definice třídy:
var ImageElement = Image;
...
export class Image {
...
}
var image = new ImageElement()
nebude však být uznány jako HTMLImageElementnapříklad, tedy bez příslušného doplňování kódu.
editovat : tady je moje nepracující pokus rozšířit Windowrozhraní jak bylo uvedeno v komentáři:
interface Window {
Image: new(width?: number, height?: number) => HTMLImageElement;
}
To zkompiluje správně (tedy bez chyb), ale ve Visual Studiu je to označeno za chybu, říká Duplicate Identifier 'Image', a snaží se vytvořit instanci pomocí new window.Image()jsou označeny říká new expressions only valid on constructors. Zajímavé je, že funguje na další rozhraní, a jak již bylo zmíněno, je správně zkompiluje.