Vous êtes ici : Accueil des cours Misfu > Informatique > Apprendre la programmation > Cours Javascript > Logique booléenne

Traduction de la page Boolean logic rédigée par Peter-Paul Koch et traduite par Christophe bruggeman

La traduction est en cours, si vous trouvez une erreur sur une page ou si vous souhaitez suggérer une amélioration, n'hésitez pas à utiliser le forum.

Logique booléenne

Le générateur booléen ne fonctionne pas avec Explorer 3 sur Mac parce qu'il ne supporte pas les traiteurs d'événement (event handlers).

Et quelque chose va mal dans Netscape 2 sur Mac si vous choisissez l'option 'X . (Y . Z)'.

La logique booléenne est quelque chose d’utilisée dans la plupart des langages de programmation, y compris le Javascript. Il est très utile d’en savoir au moins un peu à son sujet. En Javascript, vous en avez besoin la plupart du temps dans les déclarations if().

C'est seulement une explication rapide et mal écrite pour les nouveaux programmeurs. En outre, elle est complètement tournée vers l’utilisation de la logique booléenne dans le Javascript.

Je parle d'abord de la théorie de base, puis je présente le AND, OR et NOT en Javascript. Ensuite je vous présente un générateur booléen avec lequel vous pouvez faire vos propres déclarations booléenes et voir comment elles évoluent.
Après ceci j'explique ce qui ce passe quand le Javascript crée une variable false (fausse) et finalement comment voir si un objet existe. Quand vous aurez compris tout ceci vous pourrez utiliser la logique booléenne dans le Javascript.

La théorie de base

Dans la logique booléenne, une déclaration peut avoir deux valeurs, vrai ou faux. (True or false). En utilisant la logique booléenne en philosophie, la déclaration peut être une phrase, comme

Il pleut aujourd'hui.

Dans une application plus terre à terre comme le Javascript, une déclaration peut être quelque chose comme ceci

x == 4

Les deux déclarations peuvent être vrais ou fausses. Quand vous écrivez un programme il est souvent nécessaire de voir si une déclaration est vrai ou fausse. C’est généralement fait par une déclaration if(). Si la déclaration x == 4 est vrai, alors faites quelque chose :

if (x==4)
{
	do something
}

Tout ceci n’est pas étonnant. La logique booléenne, offre également des possibilités d’évaluer des déclarations de chaîne de caractères (string) et de voir si le string entier est vrai ou faux. Comme :

Il pleut aujourd'hui ET mes pieds deviennent humides

Dans la logique booléenne, cette longue déclaration est vrai si il pleut aujourd'hui est vrai ET si mes pieds deviennent humides est également vrai.

Il pleut aujourd'hui OU mes pieds deviennent humides

Dans la logique booléenne, cette déclaration est vrai si il pleut aujourd'hui est vrai OU si vos pieds deviennent humides est vrai OU si les deux déclarations sont vrais.

C'est également très pratique quand vous écrivez des programmes. Par exemple, supposez que vous voulez faire quelque chose si x==4 OU y==1. Alors vous écrivez :

if (x==4 || y==1)
{
	do something
}

La déclaration (x==4 || y==1) est vrai quand x est 4 OU y est 1.

AND, OR et NOT

Pour le Javascript, vous devez connaître AND, OR et NOT (ET, OU et NON):

La logique booléenne contient également l'opérateur XOR, lequel est vrai quand exactement une déclaration est vrai (mais pas les deux). Le Javascript n’a pas de support pour le XOR logique.

Quand vous utilisez seulement deux déclarations, c'est assez facile. Mais ça devient beaucoup plus compliqué si vous voulez utiliser plusieurs déclarations, comme :

if (x==4 && (!(y==1) || z==0)
{
	do something
}

Comme en mathématiques, ce qu’il y a entre les parenthèses () est d’abord calculé. Ainsi cet exemple est vrai et le code est exécuté si x est 4 ET (y n'est pas 1 OU z est 0 OU les deux).

Essayez-le

À première vue ça semble affreusement compliqué. Je pourrai vous en écrire plus au sujet de la façon dont la logique booléenne fonctionne, mais il vaut mieux l'essayer par vous-même.

Dans le tableau au-dessous de vous, vous voyez trois déclarations, X, Y et Z. chacun d’eux peut être vrais ou faux. Complétez ET/ou, pas(NOT), où sont les parenthèses et la valeur de X, de Y et de Z, cliquez alors sur Boole() pour voir comment vos déclarations évoluent.

X . Y
(X . Y) . Z
X . (Y . Z)
NOT
X
true
false
AND
OR
NOT
Y
true
false
AND
OR
NOT
Z
true
false

Jouez avec lui jusqu'à ce que vous commenciez à comprendre de quoi il s’agit. Plus tard vous pourriez essayer de prédire le résultat avant de frapper Boole().

Vérification d'une variable

Au-dessus nous avons vu que nous pouvons employer la logique booléenne dans une déclaration comme

if (x==4 && (!(y==1) || z==0)
{
	faites quelque chose
}

Une seconde manière d'employer la logique booléenne est de voir si quelque chose existe ou non. Par exemple

if (!x)
{
	do something
}

Dans cet exemple le code est exécuté si x n'existe pas (si (non x)(x=false).
x est faux

Dans tous les autres cas x est vrai et le code n'est pas exécuté. Notez que vous devez définir la variable x quelque part ou le navigateur se plaindra.

Support de détection

En conclusion, une déclaration est fausse si elle recherche une propriété, un tableau ou une méthode Javascript qui n'existe pas dans le navigateur. Par exemple, pour savoir si la méthode document.getSelection() existe, je fais

if (document.getSelection)
{
	faire quelque chose avec document.getSelection()
}

Si la méthode n'existe pas, le script qui emploie la méthode n'est pas exécuté. C'est une méthode sûre afin d’éviter des erreurs de Javascript.

Pour plus d'informations sur ce dispositif important de Javascript, voyez la page Object detection page.


Cours JavaScript : Introduction Javascript Ajouter du Javascript Détection d'objet Déclarations Fontions String DOM Booléen DOM intermédiaire Objets This MouseOver Imprimer Détection navigateur