Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duas Consts Iguais

Por que o instrutor instanciou duas consts idênticas?

const cancelFormTaskBtn = document.querySelector('.appform-footerbutton--cancel')

const btnCancelar = document.querySelector('.appform-footerbutton--cancel')

Ele também apenas utiliza uma

1 resposta
solução!

Oi Gustavo! Tudo ok contigo?

Acredito que você já deve ter visto, mas a explicação para isso está nessa aula, onde podemos ver que o instrutor cria essas constantes e depois atribui a elas o mesmo botão, e depois ele cria uma ouvinte de eventos do tipo clique e adiciona a classe "hidden" ao conteúdo da formTask. Mas na segunda constante ele atribui um ouvinte de eventos igual, mas com o propósito de ativar a função de limpeza do formulário.

Uma constante pode receber mais de um ouvinte de eventos em JavaScript, é possível adicionar vários ouvintes de eventos a um mesmo elemento. No entanto, aqui, ambas as funções associadas aos eventos click do botão fazem coisas diferentes (formTask.classList.add('hidden') e limparForm()). Isso pode levar a comportamentos inesperados se o botão for clicado. Mas depende do caso.

Quanto aos motivos para o desenvolvedor ter feito isso, podem haver várias razões:

  1. Boas práticas de programação: Um dos maiores motivos dessa separação de funções é o intuito de seguir essa boa prática de programação. Usar uma função para fazer duas coisas diferentes não é muito legal, pode parecer redundante, mas fazendo essa separação fica mais fácil de entender o que cada parte faz. Cada parte têm uma "função" diferente e por isso merecem ser tratadas com eventos separados.

  2. Manutenção do código: O desenvolvedor pode ter planejado adicionar mais funcionalidades a cada botão no futuro, e ter separado as constantes para facilitar a manutenção.

  3. Clareza do código: Em alguns casos, pode ser mais claro explicitar diferentes comportamentos associados a diferentes variáveis, mesmo que esses comportamentos estejam relacionados a um mesmo elemento.

  4. Refatoração futura: O código pode ter passado por mudanças ao longo do tempo, e as constantes podem ter sido introduzidas para preparar o terreno para futuras refatorações ou adições de funcionalidades.

Mas era isso. Se precisar de explicações adicionais é só falar.

Se quiser dar uma olhada nesse outro tópico sobre o mesmo assunto, fique à vontade.

Espero ter ajudado.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓