javascript tome xi - OPÉRATEURS D’ÉGALITÉ

Transcription

javascript tome xi - OPÉRATEURS D’ÉGALITÉ
O P É R AT E U R S D ’ É G A L I T É
J AVA S C R I P T (Programmation Internet) V O L . V I
J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga
+243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818
CHAPITRE 10 : OPÉRATEURS D’ÉGALITÉ :
Faites attention à ceci :
* Avec l’opérateur « = = » JS fait le typecasting selon le contexte.
* Avec l’opérateur « = = = » JS ne fait pas de typecasting.
Si vous avez « true » avec « = = » et « true » avee « = = = » c’est que
ce true est vraiment true (même sans transtypage).
Si vous avez « true » avec « = = » et « false » avee « = = = » c’est que
ce true n’est en fait que truthy (forcé par transtypage)
truthy est un true par assimilation.
Si vous avez « false » avec « = = » et « false » avee « = = = » c’est
que ce false est vraiment false (même sans transtypage).
Si vous avez « false » avec « = = » et « true » avee « = = = » c’est que
ce false n’est en fait que falsey (forcé par transtypage).
falsey est un false par assimilation.
Dans les opérations logiques :
if(0) est évalué comme false (faux), mais pour tout autre nombre n;
if(n) est évalué comme true (vrai).
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
Mais le nombre 1 en base décimal est naturellement égal à 1 binaire
(boolean) du point de vue mathématique (quantité), mais pas identique
(pas représenté de la même façon) que true (boolean = binaire). true est
donc égal à 1 (binaire = à un seul bit).
De même., 0 égale à false, et false (boolean = à un seul bit) est assimilable à 0 décimal pour les mêmes raisons que ci-dessus.
false en base binaire égale 0 avec un seul bit ;
true en base binaire égale 1 avec un seul bit :;
0 en base décimale = 0000 0000 en binaire 8 bits (byte) ;
1 en base décimale = 0000 0001 en binaire 8 bits (byte) ;
Rappel :
Un groupe de 4 bits est appelé QUARTET ou NYBBLE.
Un groupe de 8 bits est appelé BYTE ou OCTET.
Un groupe de 16 bits est appelé WORD ou MOT.
Un groupe de 32 bits est appelé DOUBLE-WORD = D-WORD.
Un groupe de 64 bits est appelé QUAD-WORD ou Q-WORD.
La taille de stockage dans les ordinateurs actuels est de 64 bits (quadruple-word), dans laquelle :
false (binaire) = 0 avec 1 seul bit (économie de 63 bits) ;
true (binaire) = 1 avec 1 seul bit (économie de 63 bits) ;
0 décimal = 00000000 00000000 00000000 00000000 binaire.
1 décimal = 00000000 00000000 00000000 00000001 binaire.
.
L’opérateur d’égalité « = = » fait une comparaison logique (après des
conversions implicites de type = typecasting nécessaires ou coercion de
types), tandis que l’opérateur d’égalité strict « = = = » travaille au niVariables & Functions
- 2 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
veau du bit sans converson.
typeof true;
typeof false;
true;
=>
=>
"boolean"
"boolean"
=>
false;
=>
eval(true)
eval(false)
parseInt(true)
parseInt(false)
true*1
false*1;
true
false
=>
=>
true
false
=>
=>
NaN
NaN
=>
=>
1
0
Les valeurs suivantes se résolvent en falsey (assimilées à faux) :
0, -0, null, NaN, undefined, chaîne vide ("").
false est vrai false,.
Leurs opposés « !val » se résolvent en « truthy (assimilées au vrai)».
L’opposé de false, reste un vrai true,
Les objets créés avec les valeurs de ce type en paramètres ont une valeur
initiale de false :
var BnP = new Boolean(); // Aucun paramètre
var BZ = new Boolean(0); // 0 en paramètre
var BN = new Boolean(null); // null en paramètre
Variables & Functions
- 3 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
var BEmptyS = new Boolean(''); // Chaîne vide
var BF = new Boolean(false); // false explicite.
Tout autre valeur y compris tout objet ou même la chaîne "false" crée
un objet ayant « true » comme valeur initiale.
Les objets créés avec des arguments se résolvant en true ont une valeur
initiale de true :
var BT = new Boolean(true); // true explicite.
var BTS = new Boolean('true'); // Chaîne non vide
var BFS = new Boolean('false'); // Chaîne non vide
var BOS = new Boolean('txt'); // Chaîne non vide
var BA = new Boolean([]); // Array
var BO = new Boolean({}); // Object
Ne confondez surtout pas les valeurs primitives bouléennes « true » et
« false » avec les valeurs « true » et « false » d’un objet Boolean.: un
objet booléen soit-il n’est jamais false (un objet est toujours true) même
quand il porte une valeur false ou qu’il est vide.
<script type="text/javascript">
"use strict";
let v = true;
let vv = v.valueOf();
if (v === vv) console.log("same"); // same
else console.log("different");
let v1 = Boolean(true);
let vv1 = v1.valueOf();
if (v === vv) console.log("same"); // same
else console.log("different");
Variables & Functions
- 4 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if (v === v1) console.log("same"); // same
else console.log("different");
if (vv === vv1) console.log("same"); // same
else console.log("different");
let v2 = new Boolean(true);
let vv2 = v2.valueOf();
if (v2 === vv2) console.log("same");
else console.log("different"); // different
if (v === v2) console.log("same");
else console.log("different"); // different
if (vv === v2) console.log("same");
else console.log("different"); // different
if (v1 === v2) console.log("same");
else console.log("different"); // different
if (vv1 === v2) console.log("same");
else console.log("different"); // different
</script>
Tout objet dont la valeur n’est pas « undefined » ou « null », (y compris
un objet Boolean dont la valeur est false) s’évalue en « true » dans une
expression conditionnelle, car comme tout autre objet l’objet Boolean
s’évalue en « true ».
Voyez donc :
<script type="text/javascript">
"use strict";
// Ceci donnera true car objet
// var x = new Boolean(expression);
let x = new Boolean(false);
Variables & Functions
- 5 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(x)console.log(x == true);
else console.log(x == false)
// La foncton de casting Boolean
// convertit à sa juste valeur
// var x = Boolean(expression);
let y = Boolean(false);
if(y)console.log(y == true);
else console.log(y == false)
Let z = {};
if(z)console.log(«x == true»);
else console.log(«x == false»)
</script>
Exécution :
x == true
test.html:7:9
y == false
test.html:15:9
Tout objet, soit-il un objet Boolean ayant la valeur false, transmet toujours la valeur true : N’utilisez donc pas un objet Boolean à la place
d’une boolean-primitive
// Valeur booléenne false
let F = new Boolean(false); // initialisé à false
// objet ayant la valeur false
let T1 = new Boolean(F);
Variables & Functions
// initialisé à true
- 6 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
// Chaîne de caractères ds objet String()
let S = new String('txt'); // init. à objet String
let T2 = new Boolean(S);
// init. à true
Ci-dessous, « chaîne false » et valeur « false » affectées à un objet Boolean (un objet s’évalue à true) :
<script type="text/javascript">
"use strict";
// Chaîne "false" affectée la à l'objet Boolean x
// Ue chaîne est traitée comme true.
var x = new Boolean("false");
console.log(x);
if (x) {
console.log("new Boolean('false') affecte true");
}
else {
console.log("new Boolean('false') affecte false");
}
// Valeur « false » affectée la à l'objet Boolean y
// TOUT OBJEt non undefined ou nul affecte true.
var y = new Boolean(false);
console.log(y);
if (y) {
console.log("new Boolean(false) affecte true");
}
Variables & Functions
- 7 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
else {
console.log("new Boolean(false) affecte false");
}
</script>
Exécution :
Boolean {[[PrimitiveValue]]: true}
test.html:7
new Boolean('false') s'évalue à true
test.html:9
Boolean {[[PrimitiveValue]]: false}
test.html:18
new Boolean(false) s'évalue à true
test.html:20
Ci-dessous, « chaîne false » et valeur « false » affectées à une primitive
Boolean (une variable simple s›évalue à sa juste valeur) :
<script type="text/javascript">
"use strict";
// Chaîne "false" affectée la à l'objet Boolean x
// Ue chaîne est traitée comme true.
let x = "false"; // Chaîne : affecte true.
console.log(x);
if (x) {
console.log('« x = "false" » affecte true');
}
else {
console.log('« x = "false" » affecte false');
}
Variables & Functions
- 8 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
// Valeur « false » affectée la à l'objet Boolean y
// TOUT OBJEt non undefined ou nul s'évalue à true.
let y = false; // Valeur s'évalue à sa juste valeur
console.log(y);
if (y) {
console.log("« y = false » affecte true");
}
else {
console.log("« y = false » affecte false");
}
</script>
Exécution :
False
test.html:7:3
« x = "false" » affecte true
test.html:9:6
False
test.html:18:3
« y = false » affecte false
test.html:23:6
Ci-dessous, une table des égalités (table des vérités) :
/////////////
var cv={};
var cnv={a:2,b:7};
var s="";
var x;
var n=null;
var z=0;
var u=1;
Variables & Functions
- 9 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
var m=-1;
var d=2;
var t="texte"
/////////////
cv
-> {}
cnv -> {a: 2, b: 7}
s
-> ""
x
-> undefined
n
-> null
z
-> 0
u
-> 1
m
-> -1
d
-> 2
t
-> "texte"
typeof cv -> "object"
typeof cnv -> "object"
typeof s
-> "string"
typeof x
-> "undefined"
typeof n
-> "object"
typeof z
-> "number"
typeof u
-> "number"
typeof m
-> "number"
typeof d
-> "number"
typeof t
-> "string"
Variables & Functions
- 10 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(cv) console.log("cv est truthy")
cv est truthy
if(!cv) console.log("cv est falsey")
if(cnv) console.log("cnv est truthy")
cnv est truthy
if(!cnv) console.log("cnv est falsey")
if(s) console.log("s est truthy")
if(!s) console.log("s est falsey")
s est falsey
if(x) console.log("x est truthy")
if(!x) console.log("x est falsey")
x est falsey
if(n) console.log("n est truthy")
if(!n) console.log("n est falsey")
n est falsey
if(z) console.log("z est truthy")
if(!z) console.log("z est falsey")
z est falsey
if(u) console.log("u est truthy")
Variables & Functions
- 11 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
u est truthy
if(!u) console.log("u est falsey")
if(m) console.log("m est truthy")
m est truthy
if(!m) console.log("m est falsey")
if(d) console.log("d est truthy")
d est truthy
if(!d) console.log("d est falsey")
if(t) console.log("t est truthy")
t est truthy
if(!t) console.log("t est falsey")
--// POUR undefined, string ("" et "txt") et null
// OPÉRATEUR D’ÉGALITÉ (= =)
// TRANSTYPAGE ÉVENTUELLEMENT
if(cv==true) console.log("cv==true ")
if(cnv==true) console.log("cnv==true ")
if(n==true) console.log("n==true ")
Variables & Functions
- 12 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(x==true) console.log("x==true ")
if(s==true) console.log("s==true ")
if(t==true) console.log("t==true ")
if(cv!=true) console.log("cv != true")
cv != true
if(cnv!=true) console.log("cnv != true")
cnv != true
if(n!=true) console.log("n != true")
n != true
if(x!=true) console.log("x != true")
x != true
if(s!=true) console.log("s != true")
s != true
if(t!=true) console.log("t != true")
t != true
if(!cv==true) console.log("!cv == true")
if(!cnv==true) console.log("!cnv == true")
if(!n==true) console.log("!n == true")
!n == true
Variables & Functions
- 13 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!x==true) console.log("!x == true")
!x == true
if(!s==true) console.log("!s == true")
!s == true
if(!t==true) console.log("!t == true")
if((!cv)==true) console.log("!cv == true")
if((!cnv)==true) console.log("!cnv == true")
if((!n)==true) console.log("!n == true")
!n == true
if((!x)==true) console.log("!x == true")
!x == true
if((!s)==true) console.log("!s == true")
!s == true
if((!t)==true) console.log("!t == true")
if(!(cv==true)) console.log("!(cv==true)")
!(cv==true)
if(!(cnv==true)) console.log("!(cnv==true)")
Variables & Functions
- 14 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
!(cnv==true)
if(!(n==true)) console.log("!(n==true)")
!(n==true)
if(!(x==true)) console.log("!(x==true)")
!(x==true)
if(!(s==true)) console.log("!(s==true)")
!(s==true)
if(!(t==true)) console.log("!(t==true)")
!(t==true)
if((!cv)!=true) console.log("!cv != true")
!cv != true
if((!cnv)!=true) console.log("!cnv != true")
!cnv != true
if((!n)!=true) console.log("!n != true")
if((!x)!=true) console.log("!x != true")
if((!s)!=true) console.log("!s != true")
if((!t)!=true) console.log("!t != true")
!t != true
Variables & Functions
- 15 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!cv!=true) console.log("!cv != true")
!cv != true
if(!cnv!=true) console.log("!cnv != true")
!cnv != true
if(!n!=true) console.log("!n != true")
if(!x!=true) console.log("!x != true")
if(!s!=true) console.log("!s != true")
if(!t!=true) console.log("!t != true")
!t != true
if(!(cv!=true)) console.log("!(cv!=true)")
if(!(cnv!=true)) console.log("!(cnv!=true)")
if(!(n!=true)) console.log("!(n!=true)")
if(!(x!=true)) console.log("!(x!=true)")
if(!(s!=true)) console.log("!(s!=true)")
if(!(t!=true)) console.log("!(t!=true)")
--if(cv==false) console.log("cv==false ")
if(cnv==false) console.log("cnv==false ")
if(n==false) console.log("n==false ")
if(x==false) console.log("x==false ")
if(s==false) console.log("s==false ")
Variables & Functions
- 16 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
s==false
if(t==false) console.log("t==false ")
if(cv!=false) console.log("cv != false")
cv != false
if(cnv!=false) console.log("cnv != false")
cnv != false
if(n!=false) console.log("n != false")
n != false
if(x!=false) console.log("x != false")
x != false
if(s!=false) console.log("s != false")
if(t!=false) console.log("t != false")
t != false
if(!cv==false) console.log("!cv == false")
!cv == false
if(!cnv==false) console.log("!cnv == false")
!cnv == false
Variables & Functions
- 17 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!n==false) console.log("!n == false")
if(!x==false) console.log("!x == false")
if(!s==false) console.log("!s == false")
if(!t==false) console.log("!t == false")
!t == false
if((!cv)==false) console.log("!cv == false")
!cv == false
if((!cnv)==false) console.log("!cnv == false")
!cnv == false
if((!n)==false) console.log("!n == false")
if((!x)==false) console.log("!x == false")
if((!s)==false) console.log("!s == false")
if((!t)==false) console.log("!t == false")
!t == false
if(!(cv==false)) console.log("!(cv==false)")
!(cv==false)
if(!(cnv==false)) console.log("!(cnv==false)")
!(cnv==false)
if(!(n==false)) console.log("!(n==false)")
!(n==false)
Variables & Functions
- 18 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!(x==false)) console.log("!(x==false)")
!(x==false)
if(!(s==false)) console.log("!(s==false)")
if(!(t==false)) console.log("!(t==false)")
!(t==false)
if((!cv)!=false) console.log("!cv != false")
if((!cnv)!=false) console.log("!cnv != false")
if((!n)!=false) console.log("!n != false")
!n != false
if((!x)!=false) console.log("!x != false")
!x != false
if((!s)!=false) console.log("!s != false")
!s != false
if((!t)!=false) console.log("!t != false")
if(!cv!=false) console.log("!cv != false")
if(!cnv!=false) console.log("!cnv != false")
if(!n!=false) console.log("!n != false")
!n != false
Variables & Functions
- 19 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!x!=false) console.log("!x != false")
!x != false
if(!s!=false) console.log("!s != false")
!s != false
if(!t!=false) console.log("!t != false")
if(!(cv!=false)) console.log("!(cv!=false)")
if(!(cnv!=false)) console.log("!(cnv!=false)")
if(!(n!=false)) console.log("!(n!=false)")
if(!(x!=false)) console.log("!(x!=false)")
if(!(s!=false)) console.log("!(s!=false)")
!(s!=false)
if(!(t!=false)) console.log("!(t!=false)")
--// OPÉRATEUR D’ÉGALITÉ STRICTE (= = =)
// SANS TRANSTYPAGE
if(cv===true) console.log("cv===true ")
if(cnv===true) console.log("cnv===true ")
if(n===true) console.log("n===true ")
if(x===true) console.log("x===true ")
Variables & Functions
- 20 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(s===true) console.log("s===true ")
if(t===true) console.log("t===true ")
if(cv!==true) console.log("cv !== true")
cv !== true
if(cnv!==true) console.log("cnv !== true")
cnv !== true
if(n!==true) console.log("n !== true")
n !== true
if(x!==true) console.log("x !== true")
x !== true
if(s!==true) console.log("s !== true")
s !== true
if(t!==true) console.log("t !== true")
t !== true
if(!cv===true) console.log("!cv === true")
if(!cnv===true) console.log("!cnv === true")
if(!n===true) console.log("!n === true")
!n === true
Variables & Functions
- 21 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!x===true) console.log("!x === true")
!x === true
if(!s===true) console.log("!s === true")
!s === true
if(!t===true) console.log("!t === true")
if((!cv)===true) console.log("!cv === true")
if((!cnv)===true) console.log("!cnv === true")
if((!n)===true) console.log("!n === true")
!n === true
if((!x)===true) console.log("!x === true")
!x === true
if((!s)===true) console.log("!s === true")
!s === true
if((!t)===true) console.log("!t === true")
if(!(cv===true)) console.log("!(cv===true)")
!(cv===true)
if(!(cnv===true)) console.log("!(cnv===true)")
!(cnv===true)
Variables & Functions
- 22 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!(n===true)) console.log("!(n===true)")
!(n===true)
if(!(x===true)) console.log("!(x===true)")
!(x===true)
if(!(s===true)) console.log("!(s===true)")
!(s===true)
if(!(t===true)) console.log("!(t===true)")
!(t===true)
if((!cv)!==true) console.log("!cv !== true")
!cv !== true
if((!cnv)!==true) console.log("!cnv !== true")
!cnv !== true
if((!n)!==true) console.log("!n !== true")
if((!x)!==true) console.log("!x !== true")
if((!s)!==true) console.log("!s !== true")
if((!t)!==true) console.log("!t !== true")
!t !== true
if(!cv!==true) console.log("!cv !== true")
Variables & Functions
- 23 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
!cv !== true
if(!cnv!==true) console.log("!cnv !== true")
!cnv !== true
if(!n!==true) console.log("!n !== true")
if(!x!==true) console.log("!x !== true")
if(!s!==true) console.log("!s !== true")
if(!t!==true) console.log("!t !== true")
!t !== true
if(!(cv!==true)) console.log("!(cv!==true)")
if(!(cnv!==true)) console.log("!(cnv!==true)")
if(!(n!==true)) console.log("!(n!==true)")
if(!(x!==true)) console.log("!(x!==true)")
if(!(s!==true)) console.log("!(s!==true)")
if(!(t!==true)) console.log("!(t!==true)")
--if(cv===false) console.log("cv===false ")
if(cnv===false) console.log("cnv===false ")
if(n===false) console.log("n===false ")
if(x===false) console.log("x===false ")
if(s===false) console.log("s===false ")
if(t===false) console.log("t===false ")
Variables & Functions
- 24 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(cv!==false) console.log("cv !== false")
cv !== false
if(cnv!==false) console.log("cnv !== false")
cnv !== false
if(n!==false) console.log("n !== false")
n !== false
if(x!==false) console.log("x !== false")
x !== false
if(s!==false) console.log("s !== false")
s !== false
if(t!==false) console.log("t !== false")
t !== false
if(!cv===false) console.log("!cv === false")
!cv === false
if(!cnv===false) console.log("!cnv === false")
!cnv === false
if(!n===false) console.log("!n === false")
Variables & Functions
- 25 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!x===false) console.log("!x === false")
if(!s===false) console.log("!s === false")
if(!t===false) console.log("!t === false")
!t === false
if((!cv)===false) console.log("!cv === false")
!cv === false
if((!cnv)===false) console.log("!cnv === false")
!cnv === false
if((!n)===false) console.log("!n === false")
if((!x)===false) console.log("!x === false")
if((!s)===false) console.log("!s === false")
if((!t)===false) console.log("!t === false")
!t === false
if(!(cv===false)) console.log("!(cv===false)")
!(cv===false)
if(!(cnv===false)) console.log("!(cnv===false)")
!(cnv===false)
if(!(n===false)) console.log("!(n===false)")
!(n===false)
Variables & Functions
- 26 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!(x===false)) console.log("!(x===false)")
!(x===false)
if(!(s===false)) console.log("!(s===false)")
!(s===false)
if(!(t===false)) console.log("!(t===false)")
!(t===false)
if((!cv)!==false) console.log("!cv !== false")
if((!cnv)!==false) console.log("!cnv !== false")
if((!n)!==false) console.log("!n !== false")
!n !== false
if((!x)!==false) console.log("!x !== false")
!x !== false
if((!s)!==false) console.log("!s !== false")
!s !== false
if((!t)!==false) console.log("!t !== false")
if(!cv!==false) console.log("!cv !== false")
if(!cnv!==false) console.log("!cnv !== false")
if(!n!==false) console.log("!n !== false")
!n !== false
Variables & Functions
- 27 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!x!==false) console.log("!x !== false")
!x !== false
if(!s!==false) console.log("!s !== false")
!s !== false
if(!t!==false) console.log("!t !== false")
if(!(cv!==false)) console.log("!(cv!==false)")
if(!(cnv!==false)) console.log("!(cnv!==false)")
if(!(n!==false)) console.log("!(n!==false)")
if(!(x!==false)) console.log("!(x!==false)")
if(!(s!==false)) console.log("!(s!==false)")
if(!(t!==false)) console.log("!(t!==false)")
--if(z===true) console.log("z===true ")
if(u===true) console.log("u===true ")
if(d===true) console.log("d===true ")
if(z!==true) console.log("z !== true")
z !== true
if(u!==true) console.log("u !== true")
Variables & Functions
- 28 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
u !== true
if(d!==true) console.log("d !== true")
d !== true
if(!z===true) console.log("!z === true")
!z === true
if(!u===true) console.log("!u === true")
if(!d===true) console.log("!d === true")
if(!(z===true)) console.log("!(z===true)")
!(z===true)
if(!(u===true)) console.log("!(u===true)")
!(u===true)
if(!(d===true)) console.log("!(d===true)")
!(d===true)
if(!z!==true) console.log("!z !== true")
if(!u!==true) console.log("!u !== true")
!u !== true
if(!d!==true) console.log("!d !== true")
!d !== true
Variables & Functions
- 29 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!(z!==true)) console.log("!(z!==true)")
if(!(u!==true)) console.log("!(u!==true)")
if(!(d!==true)) console.log("!(d!==true)")
--if(z===false) console.log("z===false ")
if(u===false) console.log("u===false ")
if(d===false) console.log("d===false ")
if(z!==false) console.log("z !== false")
z !== false
if(u!==false) console.log("u !== false")
u !== false
if(d!==false) console.log("d !== false")
d !== false
if(!z===false) console.log("!z === false")
if(!u===false) console.log("!u === false")
!u === false
if(!d===false) console.log("!d === false")
!d === false
Variables & Functions
- 30 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(!(z===false)) console.log("!(z===false)")
!(z===false)
if(!(u===false)) console.log("!(u===false)")
!(u===false)
if(!(d===false)) console.log("!(d===false)")
!(d===false)
if(!z!==false) console.log("!z !== false")
!z !== false
if(!u!==false) console.log("!u !== false")
if(!d!==false) console.log("!d !== false")
if(!(z!==false)) console.log("!(z!==false)")
if(!(u!==false)) console.log("!(u!==false)")
if(!(d!==false)) console.log("!(d!==false)")
--// AVEC TYPECASTING (TRANSTYPAGE)
if(-0)console.log("-0 est falsey")
if(0)console.log("0 est falsey")
Variables & Functions
- 31 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
if(-1)console.log("-1 est truthy")
-1 est truthy
if(1)console.log("1 est truthy")
c est truthy
if(2)console.log("2 est truthy")
c est truthy
if(!(-0))console.log("!(-0) est truthy")
!(-0) est truthy
if(!0)console.log("0 est truthy")
c est truthy
if(!(-1))console.log("!(-1) est falsey")
if(!1)console.log("1 est falsey")
if(!2)console.log("2 est falsey")
// AVEC TYPECASTING
true==-0 ->
false
true==0
false
->
true==-1 ->
false
Variables & Functions
- 32 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
true==1
->
true
true==2
->
false
true!=-0 ->
true
true!=0
true
->
true!=-1 ->
true
true!=1
->
false
true!=2
->
true
false==-0 ->
true
false==0 ->
true
false==-1 ->
false
false==1 ->
false
false==2 ->
false
false!=-0 ->
false
false!=0 ->
false
false!=-1 ->
true
false!=1 ->
true
false!=2 ->
true
JavaScript Tome-VI
--// Sans typecasting
true===-0 ->
false
true===0 ->
false
Variables & Functions
- 33 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
true===-1 ->
false
true===1 ->
false
true===2 ->
false
true!==-0 ->
true
true!==0 ->
true
true!==-1 ->
true
true!==1 ->
true
true!==2 ->
true
false===0 ->
false
false===0 ->
false
false===1 ->
false
false===1 ->
false
false===2 ->
false
JavaScript Tome-VI
false!==-0 -> true
false!==0 -> true
false!==-1 -> true
false!==1 -> true
false!==2 -> true
--// Avec typecasting
0=="0"
=>
true
Variables & Functions
- 34 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
!0=="!0"
=>
false
!0==!"0"
=>
false
-0=="-0"
=>
true
!-0=="!-0" =>
false
!-0==!"-0" =>
false
-!0=="-!0" =>
false
-!0==-"!0" =>
false
1=="1"
=>
true
!1=="!1"
=>
false
!1==!"1"
=>
true
-1=="-1"
=>
true
!-1=="!-1" =>
false
!-1==!"-1" =>
true
-!1=="-!1" =>
false
-!1==-"!1" =>
false
2=="2"
=>
true
!2=="!2"
=>
false
!2==!"2"
=>
true
-2=="-2"
=>
true
!-2=="!-2" =>
false
!-2==!"-2" =>
true
-!2=="-!2" =>
false
-!2==-"!2" =>
false
Variables & Functions
- 35 / 41 -
JavaScript Tome-VI
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
0!="0"
=>
false
!0!="!0"
=>
true
!0!=!"0"
=>
true
-0!="-0"
=>
false
!-0!="!-0" =>
true
!-0!=!"-0" =>
true
-!0!="-!0" =>
true
-!0!=-"!0" =>
true
1!="1"
=>
false
!1!="!1"
=>
true
!1!=!"1"
=>
false
-1!="-1"
=>
false
!-1!="!-1" =>
true
!-1!=!"-1" =>
false
-!1!="-!1" =>
true
-!1!=-"!1" =>
true
2!="2"
=>
false
!2!="!2"
=>
true
!2!=!"2"
=>
false
-2!="-2"
=>
false
!-2!="!-2" =>
true
!-2!=!"-2" =>
false
-!2!="-!2" =>
true
-!2!=-"!2" =>
true
Variables & Functions
- 36 / 41 -
JavaScript Tome-VI
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
--// « strict equality operator »
// Sans typecasting
0==="0"
=>
false
!0==="!0"
=>
false
!0===!"0"
=>
false
-0==="-0"
=>
false
!-0==="!-0" =>
false
!-0===!"-0" =>
false
-!0==="-!0" =>
false
-!0===-"!0" =>
false
1==="1"
=>
false
!1==="!1"
=>
false
!1===!"1"
=>
true
-1==="-1"
=>
false
!-1==="!-1" =>
false
!-1===!"-1" =>
true
-!1==="-!1" =>
false
-!1===-"!1" =>
false
2==="2"
=>
false
!2==="!2" =>
false
Variables & Functions
- 37 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
!2===!"2"
=>
true
-2==="-2"
=>
false
!-2==="!-2" =>
false
!-2===!"-2" =>
true
-!2==="-!2" =>
false
-!2===-"!2" =>
false
JavaScript Tome-VI
--0!=="0"
=>
true
!0!=="!0"
=>
true
!0!==!"0"
=>
true
-0!=="-0"
=>
true
!-0!=="!-0" =>
true
!-0!==!"-0" =>
true
-!0!=="-!0" =>
true
-!0!==-"!0" =>
true
1!=="1"
=>
true
!1!=="!1"
=>
true
!1!==!"1"
=>
false
-1!=="-1"
=>
true
!-1!=="!-1" =>
true
!-1!==!"-1" =>
false
-!1!=="-!1" =>
true
-!1!==-"!1" =>
true
Variables & Functions
- 38 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
2!=="2"
=>
true
!2!=="!2"
=>
true
!2!==!"2"
=>
false
-2!=="-2"
=>
true
!-2!=="!-2" =>
true
!-2!==!"-2" =>
false
-!2!=="-!2" =>
true
-!2!==-"!2" =>
true
JavaScript Tome-VI
Faites attention quand vous comparez des variables Arrays ou objets : ce
sont des pointeurs c’est-à-dire qu’elles ne contiennent pas une valeur
propre, mais pointent sur le contenu d’une adresse-mémoire.
<script type="text/javascript">
"use strict";
var s, arrays,arrayd,array;
array =arrays=[2,9,2,3,2,2,7,2,2];
arrayd=arrays;
console.log(array==arrays);
console.log(array==arrays);
console.log(array==arrayd);
console.log(array===arrays);
console.log(arrayd===arrays);
console.log(array===arrayd);
Variables & Functions
- 39 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
console.log("==========");
array =[2,9,2,3,2,2,7,2,2];
arrays=[2,9,2,3,2,2,7,2,2];
arrayd=[2,9,2,3,2,2,7,2,2];
console.log(array==arrays);
console.log(array==arrays);
console.log(array==arrayd);
console.log(array===arrays);
console.log(arrayd===arrays);
console.log(array===arrayd);
</script>
Exécution :
true
true
True
true
true
true
==========
false
false
false
false
Variables & Functions
- 40 / 41 -
jeudi, 4. avril 2019 (10:45 )
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-VI
false
false
Variables & Functions
- 41 / 41 -
jeudi, 4. avril 2019 (10:45 )