Olá, Victor! Tudo bem?
Desculpe a demora em retornar.
Respondendo à sua primeira pergunta, a diferença entre innerHTML
e template string
é que o innerHTML
é uma propriedade que permite a você definir ou obter o conteúdoHTML
de um elemento específico, enquanto a template string
é uma maneira de criar strings de texto que podem incluir variáveis e expressões embutidas. Ou seja, oinnerHTML
é utilizado para manipular o conteúdo de um elemento HTML
já existente, enquanto a template string
é utilizada para criar novos elementos HTML
a partir de uma string.
Já em relação à sua segunda pergunta, é importante lembrar que uma variável que recebe um elemento HTML
no formato de template string
não é um elementoHTML
em si, mas sim uma string que representa um elemento HTML
. Portanto, ao utilizar essa variável com o appendChild
, é necessário converter essa string em um elemento HTML
utilizando o método createElement
. Caso contrário, ocorrerá um erro porque o appendChild
espera receber um elemento HTML
válido como parâmetro.
Espero ter ajudado a esclarecer suas dúvidas.
Um abraço e bons estudos.