2
respostas

Redundância no código

Quando o navegador faz a seguinte investigação, atribuindo classes quando necessário:

if(nome != this.value){
                paciente.classList.add("invisivel");
            }else{
                paciente.classList.remove("invisivel");
            }

Não é inapropriado remover a classe "invisivel" para o caso do nome ser igual ao valor do input(compreendido pelo else) se, a priori, essa classe sequer devesse ser atribuída à ele?

Grato.

2 respostas

É que pense que ele pode mudar o criterio de filtragem.

Entao imagina que ele filtra pelo valor A primeiro: nesse caso, ele vai colocar a classe em todos os que nao sao A. Ai vou la e filtro por B, ele precisa remover a classe de quem ele filtrou antes por A e adicionar as do filtro de B.

Boa tarde, Edson! Como vai?

Como vc bem disse, a classe invisivel não está atribuída apenas a priori. No entanto, após o usuário começar a digitar, a adição ou remoção dessa classe se faz necessária, caso contrário só seria adicionada a tal classe e nunca removida! E é justamente isso que o código faz ao colocar esse trecho dentro da função callback do evento de input.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!