Valeurs fausses

DéfinitionValeurs é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éfinitionConversion 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