Junior
Comment vérifier si un nombre est NaN?
sobes.tech IA
Réponse de l'IA
Utilisent la fonction isNaN(), qui vérifie si la valeur est "Not-a-Number" (NaN).
// Exemples d'utilisation de isNaN()
console.log(isNaN(NaN)); // true
console.log(isNaN(123)); // false
console.log(isNaN('hello')); // true, car 'hello' ne peut pas être converti en nombre
console.log(isNaN('123')); // false, car '123' peut être converti en nombre 123
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false, car null est converti en 0
// Vérification de la conversion de types avec isNaN()
console.log(Number('hello')); // NaN
console.log(isNaN(Number('hello'))); // true
Il existe aussi la méthode Number.isNaN(), qui vérifie de manière plus stricte si la valeur est exactement NaN, sans conversion préalable.
// Exemples d'utilisation de Number.isNaN()
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(123)); // false
console.log(Number.isNaN('hello')); // false, ne convertit pas en nombre
console.log(Number.isNaN('123')); // false
console.log(Number.isNaN(undefined)); // false
console.log(Number.isNaN(null)); // false
// Différences avec isNaN() pour les arguments non numériques
console.log(isNaN('hello')); // true
console.log(Number.isNaN('hello')); // false
Comparer NaN avec lui-même ou avec toute autre valeur retourne toujours false, sauf avec Object.is().
// Particularité de la comparaison avec NaN
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
// Comparaison avec Object.is()
console.log(Object.is(NaN, NaN)); // true
Selon la tâche, il peut être nécessaire d'utiliser isNaN() (si la vérification après conversion en nombre est importante) ou Number.isNaN() (pour une vérification stricte de NaN). La méthode Number.isNaN() est préférable pour vérifier si une valeur est précisément NaN.