Use isto para variáveis ​​que você precisa para representar um estado de alternância

Eu estava trabalhando com alguns eventos em JavaScript e precisava alternar o estado de alguns objetos de tela ao pressionar um botão. Normalmente vejo colegas meus escrevendo algo como:

var toggle = 0;
var chmodButton = document.querySelector("#chmod");
chmodButton
.addEventListener("click",function(){
if(toggle == 0){
toggle
= 1;
}
else{
toggle
= 0;
}
});

o que é totalmente bom. Funciona. Mas por que não mudar a função que é chamada quando o evento acontece para algo assim:

chmodButton.addEventListener("click",function(){
toggle
= (toggle+1)%2;
)};

Ele pula a if(...)parte e você tem uma bela linha de código que muda a variável de 0 para 1 para 0 e assim por diante …

Outra maneira de fazer isso (obrigado a @piatra pela sugestão) é usar em var toggle = truevez de var toggle = 0e alterar o código dentro da função de evento para:

chmodButton.addEventListener("click",function(){
toggle
= !toggle;
)};

Além disso, como observação lateral, isso não é especificamente para JavaScript, apenas escrevi aqui assim 🙂