Premiers pas en JavaScript
14.2 Condition, comparaison
cuy copyleft
  See You Why?  

 


IF condition vraie fausse (14.1) | | IF ELSE vrai ou faux (15.1)

Contenu

 

 

I. IF : condition vraie - fausse

voir <<< séquence précédente

 

II. IF, autres comparaisons

Dans notre section précédente, nous n'avons vérifié qu'un seul type de comparaison simple : deux valeurs étaient-elles égales entre elles... et signaler la différence entre les signes = d'affectation et == de comparaison.
Sans vouloir être exhaustif, nous aimerions signaler qu'il existe bien d'autres comparaisons possibles, à savoir :

en français en JS
différent de..., pas égal à... !=
strictement plus petit que... (inférieur à...) <
strictement plus grand que... (supérieur à...) >
plus petit ou égal à... <=
plus grand ou égal à... >=
égal à et de même type que... ===
différent de valeur ou de type que... !==
   

Attention, JS ne connait pas le signe '<>' (plus petit ou plus grand) utilisé dans de nombreux langages informatiques... "Est différent de... " se note '!=' (pas égal) en JS.

On pourrait donc créer des variables booléennes de la façon suivante :
    majeur = (age>=18);
    pensionne = (age>65);

 

 

n'est pas égal à

Toujours dans les conditions uniques à vérifier, il existe la négation de la comparaison vue précédemment, à savoir "est différent de..." ou "n'est pas égal à..." qui en JS se notera " !=", soit un point d'exclamation immédiatement suivi d'un simple signe = et qui exprime la négation de la condition vue dans la section précédente "est égal à...". Cette condition sera vraie si les éléments comparés ne sont pas égaux.

 

est (strictement) plus petit que

Il existe aussi au niveau des comparaisons une autre comparaison qui marque une non égalité entre deux éléments, à savoir "est strictement plus petit que..." ou "est strictement inférieur à..." qui en JS se notera " <", placé à gauche du 'w' sur un clavier belge. Cette condition sera vraie si le premier élément est plus petit que le second de la comparaison, sans lui être égal.
C'est le sens du 'strictement'.

 

est (strictement) plus grand que

Il existe encore au niveau des comparaisons une autre comparaison qui marque une non égalité entre deux éléments, à savoir "est strictement plus grand que..." ou "est strictement supérieur à..." qui en JS se notera " >", placé à gauche du 'w' sur un clavier belge. Cette condition sera vraie si le premier élément est plus grand que le second de la comparaison, sans lui être égal. Ce n'est donc pas la négation de la précédente, puisque dans aucun des deux cas, on n'accepte qu'il y ait égalité entre les 2 éléments comparés.
C'est le sens du 'strictement'.

 

est plus petit ou égal à

Il existe aussi au niveau des comparaisons une autre comparaison qui marque une différence entre deux éléments, à savoir "est plus petit ou égal à..." ou "est inférieur à..." qui en JS se notera " <=". Cette condition sera vraie si le premier élément est plus petit ou égal au second de la comparaison, mais ici en pouvant lui être égal.
C'est donc ici la négation de la condition ">".

 

est plus grand ou égal à

Il existe encore et enfin au niveau des comparaisons une autre comparaison qui marque une différence entre deux éléments, à savoir "est plus grand ou égal à..." ou "est supérieur à..." qui en JS se notera " >=". Cette condition sera vraie si le premier élément est plus grand ou égal au second de la comparaison, mais ici en pouvant lui être égal.
C'est donc ici la négation de la condition "<".

 

 

 

 

A. comparaison de chaines de caractères

Tout d'abord, attention à ce que l'on appelle "caractère". Il s'agit d'un constituant de base de la chaîne de caractères ; je sais, ce n'est pas très clair, mais c'est un peu comme si je vous disais qu'une lettre est un constituant de base d'un mot, qu'un chiffre est un élément constituant d'un nombre.
Dans une chaine de caractères on trouve aussi des lettres (en capitales et en bas de casse [évitez les expressions majuscules et minuscules qui sont incorrectes - voir ici]), des espaces ordinaires, insécables ou fines [voir ici], des signes de ponctuation, des caractères spéciaux (dont les lettres accentuées), etc.
Parler d'un 'caractère', c'est utiliser le terme informatique adéquat qui désigne n'importe quel symbole pouvant apparaître dans du texte, que ce soit des lettres, des chiffres, ou n'importe quel autre symbole tel que la ponctuation par exemple.

Ensuite, rappelons-nous que JS n'est pas très typé... c'est-à-dire que le type d'une variable n'est pas fixe...
ainsi, JS acceptera des instructions telles que var c = "4" + 5 et affectera la valeur 45 à ce qui est une somme ou une concaténation d'une valeur alphanumérique avec une valeur numérique...

À condition de ne pas perdre de vue ces deux remarques préalables, on retiendra qu'en principe un caractère est stocké sur un byte (ou octet) et que le classement des caractères se fait en suivant les codes ASCII des caractères... qu'ouïs-je, 'aski' ? quasi OK pour la prononciation, mais ASCII signifie American Standard Code of Information Interchange, c-à-d une norme de codage de caractères en informatique ancienne et connue pour son influence incontournable sur les codages de caractères qui lui ont succédé. Elle était la plus largement compatible pour ce qui est des caractères latins non accentués. Initialement le code ASCII se codait sur 7 bits, ce qui donnait des valeurs de 0 à 127. Quelques explications complémentaires sont données ici (code des caractères en html) et ici (système décimal, binaire et hexadécimal) pour ceux qui s'y intéressent.

Une représentation rapide des 128 caractères codés sur 7 bits et basée sur la notation en base 16.

PDF : fr en
 v · d · m 
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
⇐ 2e chiffre hexadécimal
0
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
1
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
2
SP
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
3
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
4
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
5
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
6
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
7
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

premier
chiffre
héxadécimal

Observons ce tableau :

 

B. JS est case sensitive...

On vous a déjà spécifié à plusieurs reprises que JS est sensible à la casse, donc JS ne considère pas un "a" égal à un "A". Des méthodes applicables aux chaines de caractères ont été abordées en chapitre 5, séquence "Manipulation de chaines". Nous conseillerons donc, s'il vaut vérifier l'égalité de deux chaînes, sans avoir l'exigence de la distinction des capitales et bas de casse, de capitaliser les deux chaines à comparer :
if (reponse.toUpperCase() == username.toUpperCase()) {...}

C. une illustration de fonction

Vot res.

 

 

III. Conditions, comparaisons

voir suite >>>

 

VIII. Exercices relatifs aux conditions (notions de base)

voir suite >>>

 

IX. Test relatif aux conditions (notions de base)

voir suite >>>

 

 


IF condition vraie fausse (14.1) | | IF ELSE vrai ou faux (15.1)