Moin,
da steckt man ein paar Jahre in einem Projekt und ist mehr oder weniger abgeschottet von der Welt. Dann bekommt man einen Auftrag, dass man ein Javascript warten soll und dann ...
Das Javascript wird wie folgt eingebunden:
<script type='module' src='./js/map-component.js'></script>
Einen type='module' hab ich bis dato noch nicht gesehen. Was ist das, was macht es? Laut selfhtml wiki hat es keinen Zweck.
In dem Script habe ich dann folgendes gefunden:
class MapComponent extends HTMLElement
Das class mittlerweile funktioniert ist super cool. Aber was ist HTMLElement und wo kommt das her? Da ist kein request, require oder ähnliches. Wozu braucht man das, was kann es?
Am Ende steht dann noch:
window.customElements.define('map-component', MapComponent);
Das scheint wohl der Aufruf zu sein, da der constructor aufgerufen wird ohne das ich selbst ein new irgendwo stehen hab. Was ist das, was macht es?
Wenn ich selbst ein new versuche wird mir ein Fehler ausgegeben: "Illegal constructor". Das "super()" im constructor wird als falsch betrachtet. Daraus leite ich ab dass der define Aufruf den parent HTMLElement läd und erst dann die Klassen miteinander verbunden werden können. Mit einem simplen new scheint HTMLElement nicht bekannt zu sein und der extend funktioniert nicht richtig.
Danke. Gruß T-ype="Rex"