Exercice 7/16

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/16

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

40 Commentaires

  • veroniquedouce-83

    veroniquedouce-83

    Bonjour, je me suis aidée avec les commentaires pour trouver la réponse, mais je ne la comprends pas vraiment. Car var1 est faux au départ et dans le cours il est indiqué que " ! " ne s'utilise qu'avec une seule expression. Pouvez-vous me donner quelques explications. Merci pour votre aide.

    le 24/09/2022 à 08h58

  • Patricio M

    Patricio M Admin

    le 26/09/2022 à 09h09

  • emanuela.rossetti-92

    emanuela.rossetti-92

    Bonjour, var1 = ' ' est false, pourquoi alors on doit mettre ! devant var1 dans la variable test ? Merci

    le 26/10/2021 à 12h06

  • meriam

    meriam Admin

    Merci pour votre remarque, on va vérifier la correction.

    le 27/10/2021 à 14h02

  • abdo7219

    abdo7219

    var var1 = ''; var var2 = 'Lorem'; /* Votre variable test ... */ var test = !var1 && !var2 /* ici */; alert(test);

    le 03/10/2021 à 10h48

  • meriam

    meriam Admin

    Bonjour, votre dernier code est correct.

    le 04/10/2021 à 14h47

  • bagayoko.yan-69

    bagayoko.yan-69

    var var1 = ''; var var2 = 'Lorem'; var test = !var1 && !var2 alert(test);

    le 01/03/2021 à 08h00

  • meriam

    meriam Admin

    Bonjour, votre code est correct.

    le 03/03/2021 à 09h09

  • rosirisf77-81

    rosirisf77-81

    cet code a marche pour moi alert(false);var test = !var1 && !var2; alert(test);

    le 28/12/2020 à 20h02

  • meriam

    meriam Admin

    Bonjour, votre dernier code est correct.

    le 30/12/2020 à 14h50

  • pro.kevinmarkus-57

    pro.kevinmarkus-57

    je viens de comprendre, autant pour moi ! ^^

    le 10/11/2020 à 13h20

  • ysambamezaache

    ysambamezaache

    Bonjour je suis bloque a ce stade var test = (var2 && var2) != 0; alert(test);

    le 19/10/2020 à 10h25

  • meriam

    meriam Admin

    Bonjour, essayez var test = (!var2) && (!var1);

    le 19/10/2020 à 13h21

  • leon.thom-33

    leon.thom-33

    Bonjour, vous pouvez m'aider

    le 11/02/2018 à 00h34

  • mram

    mram Admin

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

    le 12/02/2018 à 19h59

  • 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 à 18h14

  • mram

    mram Admin

    Bonjour, oui c'est correct aussi :)

    le 22/01/2018 à 09h38

  • CodyLeCodingue

    CodyLeCodingue

    var test = var1 == var2 == false;

    le 21/09/2017 à 20h42

  • mram

    mram Admin

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

    le 22/09/2017 à 15h11

  • Chris

    Chris

    Très bien ! Merci beaucoup !

    le 25/11/2016 à 13h50

  • mram

    mram Admin

    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 à 16h16

  • 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 à 09h53

  • mram

    mram Admin

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

    le 10/10/2016 à 08h50

  • 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 à 07h00

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);