Vrai ou Faux : JavaScript est une version allégée de Java.
Faux, ce sont deux langages de programmation distincts avec des syntaxes et des usages très différents.
Vrai ou Faux : L'expression typeof null
retourne null
.
Faux, elle retourne "object". C'est un bug historique du langage.
Que retourne l'expression :
NaN === NaN
- true
- false
- undefined
- Error
false – NaN
est la seule valeur en JavaScript qui n'est pas égale à elle-même.
Que retourne l'expression :
[] == ![]
- true
- false
- undefined
- Error
true – À cause de la coercition de type, ![]
devient false
, et []
est converti en 0
, ce qui mène à 0 == 0
.
Que retourne l'expression :
[] + []
""
(string vide) – avec +
, les tableaux sont convertis en string → ""
.
Que retourne l'expression :
{} + []
0
– le {}
est vu comme un bloc vide → reste +[]
→ 0
.
Que retourne l'expression :
0.1 + 0.2 === 0.3
false
– → 0.30000000000000004
.
Sachant que:
[] == 0 //return true
Que retourne l'expression :
[] === 0
false
– ==
fait une coercition ([]
→ ""
→ 0
), ===
compare types strictement.
Sachant que :
"2" + 1 //return "21"
Que retourne l'expression :
"2" - 1
1
. +
concatène si un opérande est string, et -
force la conversion en nombre.
Sachant que :
[] == ![] //return true
Que retourne l'expression :
{} == !{}
false
– pour []
, coercition en 0
→ true
. Pour {}
, impossible de le convertir → false
.
Sachant que :
{} + [] //return 0
Que retourne l'expression :
[] + {}
[object Object]
–