Det er mange måter, men jeg vil anbefale å bruke document.createElementpå den måten. For eksempel:
var image = <HTMLImageElement>document.createElement('img');
Du kan skape praktiske funksjoner eller klasser som brytes dette for deg.
En av de andre måtene ville være for eksempel å opprette en referanse til den opprinnelige bilde klassen før klassen din definisjon:
var ImageElement = Image;
...
export class Image {
...
}
var image = new ImageElement()
men det vil ikke bli anerkjent som HTMLImageElementeksempel, dvs. ingen riktige koden ferdigstillelse.
Edit : her er min ikke-arbeidende forsøk på å forsterke Windowgrensesnitt som nevnt i kommentarfeltet:
interface Window {
Image: new(width?: number, height?: number) => HTMLImageElement;
}
Det kompilerer riktig (dvs. uten feil), men i Visual Studio er det flagget som en feil, sier Duplicate Identifier 'Image', og forsøk på å opprette en forekomst via new window.Image()flagges sier new expressions only valid on constructors. Interessant det fungerer fint på andre grensesnitt, og som allerede nevnt, det kompilerer riktig.