Exercice 7/15

Soit les variables var1 et var2 déjà déclarées et qui contiennent une valeur.

Dans le fichier "script.js" :

  • vérifiez que var1 et var2 sont fausses (l'inverse de vrai) et affectez le résultat à test;
  • cliquez sur "Soumettre ma réponse".

Leçon 7/15

Avant d'aborder concrètement les conditions. Il est nécessaire de faire le point sur ce qui est considéré comme vrai et comme faux en Javascript. Il y a quelques subtilités à connaître.

Ce qui est considéré comme faux :

  • le booléen false;
  • une chaîne vide "";
  • le nombre zéro 0
  • undefined;

Ce qui est considéré comme vrai :

  • le booleéen true;
  • une chaîne contenant zéro "0";
  • une chaîne contenant false "false";

Il existe d'autres subtilités similaires mais celles-ci sont les plus évidentes.

Commentaires les mieux notés

  • Timo

    Bonjour, pouvez-vous m'aider svp. Je ne vois pas comment vérifier que 2 variables sont fausses puisqu'avec "!" on ne peut déclarer qu'une seule variable ... Ca ne doit pas être bien sorcier mais je buggue, merci

  • Timo

    Deuxième fois autant pour moi, je n'avais pas compris que l'on pouvait cumuler plusieurs opérateurs logiques, désolé du dérangement :/

  • Chris

    Très bien ! Merci beaucoup !

  • patricerameaux

    j'ai la bonne réponse par déduction plutôt que par logique : pour moi cette syntaxe est correcte à condition que les var1 et var2 soient true au départ puisqu'il faut utiliser l'opérateur ! pour tester (si j'ai bien compris il inverse la valeur booléenne ) OK ou non ?

15 Commentaires

  • Timo

    Timo

    Bonjour, pouvez-vous m'aider svp. Je ne vois pas comment vérifier que 2 variables sont fausses puisqu'avec "!" on ne peut déclarer qu'une seule variable ... Ca ne doit pas être bien sorcier mais je buggue, merci

    le 13/09/2016 à 21h35

  • Timo

    Timo

    Deuxième fois autant pour moi, je n'avais pas compris que l'on pouvait cumuler plusieurs opérateurs logiques, désolé du dérangement :/

    le 13/09/2016 à 21h36

  • Chris

    Chris

    Très bien ! Merci beaucoup !

    le 25/11/2016 à 15h50

  • patricerameaux

    patricerameaux

    j'ai la bonne réponse par déduction plutôt que par logique : pour moi cette syntaxe est correcte à condition que les var1 et var2 soient true au départ puisqu'il faut utiliser l'opérateur ! pour tester (si j'ai bien compris il inverse la valeur booléenne ) OK ou non ?

    le 06/10/2016 à 11h00

  • mram

    mram Administrateur

    Oui , avec "!" on vérifie si la variable est considérée comme "false".

    le 10/10/2016 à 12h50

  • mram

    mram Administrateur

    Le code suivant "test = var1 && var2" vérifie que les deux variables sont considérées comme "vrai". Si on veut vérifier le contraire ("false") le plus simple est d'utiliser l'opérateur de négation "!", ce qui donne "test = !var1 && !var2". Le code que vous proposez fonctionne aussi, il est juste plus long.

    le 24/11/2016 à 18h16

  • simon.fred

    simon.fred

    Bonjour, je suis bloqué, pourriez vous m'aider ? je ne comprend pas mon erreur. merci :)) var test =var1||var2; alert(test);

    le 17/06/2016 à 13h39

  • mram

    mram Administrateur

    Pas de souci, votre code est correct :)

    le 16/09/2016 à 14h17

  • mram

    mram Administrateur

    Bonjour, ici on souhaite vérifier que var1 ET var2 sont "fausses". Ce n'est donc pas les bons opérateurs logiques. Il faudra aussi utiliser "!" avec les variables.

    le 20/06/2016 à 17h13

  • Chris

    Chris

    Pourquoi ce code est une bonne réponse : var test = !var1 && !var2; alert(test); ? Dans ce cas, var1 et var2 peuvent être égales à true! Je préfère ce code : var test = (var1 != true) && (var2 != true); alert(test); Dans ce cas, nous sommes sûrs que var1 et var2 sont fausses! Non? Peut-être que je me trompe dans mon raisonnement.

    le 24/11/2016 à 11h53

  • CodyLeCodingue

    CodyLeCodingue

    var test = var1 == var2 == false;

    le 22/09/2017 à 00h42

  • mram

    mram Administrateur

    Bonjour, non ce n'est pas la bonne syntaxe. Mais la dernière version de votre code est correcte.

    le 22/09/2017 à 19h11

  • j_senechal-19

    j_senechal-19

    J'ai compris ce qu'il faut mettre mais par curiosité je me posais la question de savoir si ce code était correct : var terst = !(var1&&var2);alert(test); ???

    le 20/01/2018 à 20h14

  • mram

    mram Administrateur

    Bonjour, oui c'est correct aussi :)

    le 22/01/2018 à 11h38

  • leon.thom-33

    leon.thom-33

    Bonjour, vous pouvez m'aider

    le 11/02/2018 à 02h34

  • mram

    mram Administrateur

    Bonjour, les parenthèses sont en trop et il manquera du coup un " ! " .

    le 12/02/2018 à 21h59

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Qu'est-ce qui est vrai ou faux ?</title> <script src="script.js"></script> </head> <body> </body> </html>
var var1 = ''; var var2 = 'Lorem'; /* Votre variable test ... */ var test = /* ici */; alert(test);