Valeurs fausses
Définition : Valeurs équivalentes à false dans une condition
1
false
2
null
3
undefined
4
''
5
0
6
NaN // (Not a Number)
1
const valeur = "";
2
if (valeur) {
3
console.log(`${valeur} est équivalent à true`);
4
} else {
5
console.log(`${valeur} est équivalent à false`);
6
}
Toutes les valeurs précédentes afficheront équivalent à false. Toutes les autres valeurs passeront par la branche true.
Définition : Équivalentes mais pas de même type.
Les valeurs considérées comme false ne sont pas forcément des booléens.
1
typeof false // 'boolean'
2
typeof null // 'object'
3
typeof undefined // 'undefined'
4
typeof '' // 'string'
5
typeof 0 // 'number'
6
typeof NaN // 'number'
Définition : Conversion booléenne
Les opérations utilisées dans une condition ne sont pas forcément des booléens.
Dans le cas ou nous devrions utiliser cette condition en tant que valeur booléenne , il faudra la convertir.
1
Boolean(null) // false
2
Boolean(undefined) // false
3
Boolean('') // false
4
Boolean(0) // false
5
Boolean(NaN) // false
6
// Pour tout le reste c'est true
7
Boolean(1) // true
8
Boolean('a') // true
9
Boolean([]) // true
10
Boolean({}) // true
Une façon plus courte est d'utiliser l'opérateur logique not (symbol : ! )
1
!!null // false
2
!!undefined // false
3
!!'' // false
4
!!0 // false
5
!!NaN // false
6
// Pour tout le reste c'est true
7
!!1 // true
8
!!'a' // true
9
!![] // true
10
!!{} // true