13. Valeurs numériques spéciales : NaN et Infinity
JavaScript possède des valeurs spéciales intégrées au type Number pour représenter des impossibilités ou des limites mathématiques.
1. Infinity et -Infinity
Représente une valeur supérieure au plus grand nombre possible ou inférieure au plus petit nombre possible.
javascript console.log(1 / 0); // Résultat : Infinity console.log(-1 / 0); // Résultat : -Infinity console.log(2 ** 1024); // Résultat : Infinity (Dépassement de capacité)
2. NaN (Not a Number / Pas un nombre)
NaN est le résultat d'une opération mathématique qui ne peut pas produire un nombre valide.
javascript console.log('bonjour' / 2); // Résultat : NaN (On ne peut pas diviser du texte) console.log(Math.sqrt(-1)); // Résultat : NaN (Impossible de prendre la racine carrée d'un nombre négatif)
Vérification cruciale : Vous ne pouvez pas tester NaN en utilisant l'égalité stricte (===).
javascript console.log(NaN === NaN); // Résultat : false (NaN est la seule valeur qui n'est pas égale à elle-même !)
// Utilisez cette fonction à la place : console.log(Number.isNaN('test' / 2)); // true