E aí, Leandro!
Isso acontece porque o JavaScript interpreta a parte "<a href="
como algo que deve ser inserido no mundo HTML separado do link. Após isso ele entende que há outra parte a ser inserida como "> clique aqui </a>"
.
O que está acontecendo é apenas uma confusão com as aspas. Você está está usando corretamente pensando no mundo HTML, mas isso faz o link ficar de fora por existir aspas dentro de aspas. Nesse caso, é importante definir a separação usando a concatenação (+).
O resultado é esse:
<script>
document.write("<a href=" + "link" + "> clique aqui </a>");
</script>
Dessa forma, o JavaScript vai concatenar três trechos de código em um único: "<a href="
+ "link"
+ "> clique aqui </a>"
. Com isso, o resultado final exibido lá no mundo HTML é o esperado:
<a href="link"> clique aqui </a>
Caso tenha achado muito complicado, existe uma maneira mais simples de fazer isso.
Para adicionar aspas no mundo HTML através do JavaScript, é necessário apenas usar uma \
antes das aspas. O resultado é esse:
<script>
document.write("<a href=\"link\"> clique aqui </a>");
</script>
Essa barra informa pro JavaScript que o que vem logo a seguir não faz parte da sintaxe do JavaScript e que deve ser exibido.