Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Usei apenas if's e o código rodou, não é usual?

Vi a solução do Instrutor depois que "solucionei" da minha maneira apenas usando um if dentro de outro, pois não conhecia o "if else"..

<canvas width="600" height="400"></canvas>

<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');

    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);


    var raio = 10;

    function desenhaCirculo(evento) {

        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;

            if (evento.altKey) {

                raio = raio - 5;
            }

            if (evento.shiftKey) {

                if (raio < 40) {

                    raio = raio + 10;

                }
            }

        pincel.fillStyle = 'blue';
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * 3.14);
        pincel.fill();
        console.log(x + ',' + y);

    }



    tela.onclick = desenhaCirculo;

</script>

Isso não é usual em JavaScript? Obrigado, tamo junto rs!

2 respostas

Fica pouco legível e voce corre o risco de em casos onde voce tenha mais de uma condição não entrar em nenhum dos ifs.

Exemplo

var x = false;
var y = false;

if(x && y){
   alert('verdade');
}else {
     alert('false');
}

como fazer com 2 ifs no lugar do else, ou seja, caso x ou y seja falso entra no else. Veja como a leitura já não é trivial.

if(x && y){
   alert('verdade');

}

if(x || y){
     alert('false');
}
solução!

Bom dia! Respondi para um aluno dúvida semelhante. Confira aqui

https://cursos.alura.com.br/forum/topico-trabalhando-com-condicoes-38953