Olá pessoal. Eu entendi o motivo e uso do join quando vi a resolução do Flávio. Porém, quando eu estava realizando o exercício, eu comecei fazer alguns testes e brincadeiras e acabei descobrindo uma outra forma que funcionou:
let funcionarios ...... (apenas abreviando)
let tbody = document.querySelector("tbody");
funcionarios.map(funcionario =>
tbody.innerHTML += `
<tr>
<td>${funcionario.nome}</td>
<td>${funcionario.endereco}</td>
<td>${funcionario.salario}</td>
</tr>
`
);
O código acabou ficando mais "enxuto", só pegando o tbody
em cima e logo o map em baixo. Eu inspecionei devidamente o código no chrome e não vi a criação de nenhum elemento estranho. O html ficou certinho, com os dados inseridos devidamente na tabela. Acabei descobrindo no "chute", eu coloquei o innerHTML dentro do map e vi que ele só exibia o ultimo, ai veio a ideia de usar o +=
e vi que ele conseguiu concatenar, hahahah...
Não sei dizer se perde semântica ou algo parecido, mas poderia ser uma solução viável?
Obrigado.