Implementering av JavaScript Web API-gränssnitt


HTMLElement (och dess efterkommande, såsom HTMLDivElement, HTMLSpanElement etc) definieras som gränssnitt enligt MDN-dokumentationen.

Om jag ville implementera dessa gränssnitt med TypeScript, kan jag göra följande.

class CustomElement implements HTMLElement {
    // implementation
}

Att implementera gränssnitt i TypeScript genererar dock ingen kod, så det är svårt att se hur man uppnår gränssnittsimplementation med ren JavaScript.

Hur bör dessa gränssnitt implementeras med ren JavaScript?

Svar #1

jsFiddle-demo

Du skulle använda prototypen av HTMLElement

var CustomElement = function(){}; 
CustomElement.prototype = HTMLElement.prototype;

Och nu kan du konstruera dem med nyckelordet new

var myElement = new CustomElement();
//myElement will now have access to the HTMLElement prototype

Relaterade artiklar