Oi Matheus, tudo bem?
Desculpe a demora em retornar.
Quando você escreve código em TypeScript, ele é compilado para JavaScript. O TypeScript adiciona recursos de linguagem que não estão disponíveis no JavaScript, como tipos estáticos, interfaces, classes, entre outros.
Quando você declara um atributo como privado em uma classe TypeScript, isso significa que esse atributo não pode ser acessado fora da classe. No entanto, quando o TypeScript é compilado para JavaScript, a visibilidade privada é removida, pois o JavaScript não suporta essa funcionalidade diretamente.
A principal vantagem do TypeScript em relação ao JavaScript é que o TypeScript fornece verificação de tipo estático, que ajuda a evitar erros de tipo em tempo de execução. Embora a visibilidade privada em TypeScript não seja preservada na compilação, ela ainda é útil no processo de desenvolvimento, pois ajuda a evitar que você acesse um atributo ou método que não deve ser acessado fora da classe.
Em resumo, a vantagem do TypeScript não está na preservação da visibilidade privada na compilação, mas sim na verificação de tipos estáticos que ele fornece durante o processo de desenvolvimento. A visibilidade privada ainda é útil no desenvolvimento, mas não deve ser usada como uma medida de segurança no JavaScript gerado.
Espero que tenha te ajudado.
Um abraço e bons estudos.