Appliquer la notion
Vous êtes chargé de traiter les données reçues d'un capteur. Ce capteur retourne des valeur, et pour chaque nombre reçu, il faut lui appliquer un certain traitement. Le nombre se trouve dans la variable numberReceived
.
Cependant, le capteur connaît parfois des dysfonctionnements et renvoie NaN
, une valeur utilisée pour représenter une quantité qui n'est pas un nombre (Not a Number).
Le code suivant a été écrit par quelqu'un d'autre et il ne fonctionne pas. En effet, la clause else
est systématiquement exécutée.
const numberReceived = Number.NaN
if (numberReceived === Number.NaN) {
console.log('Mauvais nombre, à ne pas traiter')
} else {
console.log('Nombre à traiter')
// Instructions pour traiter le nombre...
}
Question
Sur la page MDN du type Number, trouvez un moyen de savoir si un nombre est NaN
.
Corriger le bug.
Indice
Il faut regarder du côté des méthodes.
Solution
Pour savoir si un nombre est considéré comme Not a Number, il faut utiliser la méthode Number.isNaN()
.
if (Number.isNaN(numberReceived)) {
console.log('Mauvais nombre, à ne pas traiter')
} else {
console.log('Nombre à traiter')
// Instructions pour traiter le nombre...
}