Fala Eduardo, tudo bem? Espero que sim!
Utilizando as template strings nós não estamos criando um elemento html e sim uma string comúm, essa string vai ter apenas métodos de uma string como toLowerCase
, toUpperCase
, etc... Fazemos dessa forma quando vamos redefinir o html de um elemento ja existente utilizando o innerHTML
que ja espera uma string que possui uma estrutura html, como essa:
"<p>Olá, eu sou um paragrafo</p>"
Agora, o createElement
cria realmente um elemento html que possui métodos de elementos html como innerHTML
,innerText
, appendChild
, etc...
A diferença é que, como utilizando template string você cria apenas uma string e não um elemento, você não consegue colocar um ouvidor de elementos nele (addEventListener
), ja ao utilizar o createElement
é possível fazer isso, ja que ele cria um elemento html.
Espero ter ajudado, abraços e bons estudos :D