Ambas as formas de buscar elementos na página, usando getElementBy... e querySelector, têm suas vantagens e são amplamente utilizadas em diferentes contextos. Vou explicar um pouco sobre cada uma delas e sua aplicação no ambiente profissional.
1 - getElementBy...:
Essa forma de busca de elementos é mais antiga e está presente nas versões mais antigas do JavaScript. Ela permite selecionar elementos com base em seu tipo (getElementById, getElementsByTagName, getElementsByClassName) e retorna uma coleção de elementos correspondentes. No entanto, para acessar um único elemento dessa coleção, é necessário especificar um índice. Por exemplo:
var element = document.getElementById("myElement");
A principal vantagem do getElementBy... é que ele é um pouco mais rápido em termos de desempenho do que o querySelector. No entanto, a diferença de desempenho geralmente é insignificante, a menos que você esteja trabalhando com um grande número de elementos.
2 - querySelector:
Essa forma de busca de elementos foi introduzida no JavaScript mais recente (a partir do ECMAScript 5) e oferece mais flexibilidade na seleção de elementos. Ela permite usar seletores CSS para selecionar elementos com base em sua classe, ID, tag e outros atributos. Além disso, o querySelector retorna apenas o primeiro elemento correspondente, o que pode ser conveniente em muitos casos. Por exemplo:
var element = document.querySelector("#myElement");
O querySelector é especialmente útil quando você precisa selecionar elementos de forma mais complexa ou quando deseja aproveitar a potência dos seletores CSS.
Em termos de recomendação, a escolha entre getElementBy... e querySelector depende das necessidades específicas do seu projeto e do contexto em que você está trabalhando. Se você precisa selecionar elementos de maneira simples e direta, ou se está trabalhando com uma base de código mais antiga que já usa getElementBy..., pode continuar usando essa abordagem. Por outro lado, se você deseja aproveitar a flexibilidade dos seletores CSS ou precisa selecionar elementos de maneira mais complexa, o querySelector é uma ótima opção.
Em resumo, ambas as formas têm seu lugar no ambiente profissional, e a escolha entre elas depende do contexto e das necessidades do seu projeto.