Dein erster Halbsatz erweckt hier aber einen falschen Eindruck, denn es ist zwar richtig, dass beim Laden des Dokuments der Inhalt des
script
-Elementes nicht geparst wird, aber das heißt nicht, dass man auf darin enthaltene HTML-Inhalte grundsätzlich nicht zugreifen kann:
Den Eindruck wollte ich nicht erwecken.
Unter Verwendung der Methode
innerHTML
kann man dafür sorgen, dass der Inhalt desscript
-Elements nachträglich geparst wird und danach auch zur Verfügung steht.
Das geht, und wird von Polyfills vermutlich sogar so ähnlich implementiert. Der Punkt ist, dass man sich beim <script>-Element selber um das Parsing kümmern muss, das ist eine unnötige Abhängigkeit.
Der Vorteil des
template
-Elementes liegt hier rein funktional betrachtet nicht darin, dass es sonst nicht möglich wäre auf die hinterlegten Inhalte zuzugreifen, sondern vielmehr darin, dass wie du richtig sagst, der Inhalt bereits beim Laden der Seite geparst wird und somit zur Verfügung steht, wenn er gebraucht wird, was natürlich performanter ist, als wenn dies erst beim Methodenaufruf passiert.
Es ist vermutlich sogar wirklich etwas performanter, aber das sehe ich nur als marginalen Vorteil des <template>-Elements an. Wesentlich für mich ist, dass das <template>-Element eine uniforme Schnittstelle bietet, um die Inhalte zu adressieren und damit zu arbeiten.