Plus sur le contrôle de flux JS ex 1


#1

Je ne comprends pas pourquoi le nombre que je mets en paramètre n'est pas divisible par 2 ...

var estPair = function(nombre) {
    if (nombre % 2){
        console.log("Le chiffre indiqué est divisible par 2");
            return true;
        }
        else {
           console.log("Le chiffre indiqué n'est pas divisible par 2");
            return false;
            }
};
estPair(4);

Apparemment il faut mettre
if (nombre % 2 === 0)

Mais pourquoi ?
Merci pour vos réponses


#2

you don't have to, look at this:

1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
5 % 2 = 1

if you then realize that zero is considered false, and one is considered true, you can return false for your if, and true for you false.

this also explain why you need to check if the remainder equals zero, since for even numbers the remainder is zero, so if you then check if this equals zero, the condition is true


#3

Ok ! Thank you ! I understand now


#4