En TypeScript, comment pouvons-nous vérifier si une valeur est NaN
?
Ce qui suit ne fonctionne pas :
someObject.someValue == NaN
someObject.someValue === NaN
En TypeScript, comment pouvons-nous vérifier si une valeur est NaN
?
Ce qui suit ne fonctionne pas :
someObject.someValue == NaN
someObject.someValue === NaN
Identique à JavaScript, isNaN
.
if (isNaN(someObject.someValue)) ...
Ou le plus moderne Number.isNaN
if (Number.isNaN(someObject.someValue)) ...
Tout ce qui n'est pas NaN
renvoie à false
. Cordes, null
, undefined
les booléens - ils retourneront tous false
de Number.isNaN()
ou simple isNaN()
. La fonction ne teste pas si quelque chose "n'est pas un nombre", mais plutôt s'il "est NaN", qui est une valeur numérique invalide spécifique, en pratique. Pour tester si quelque chose n'est pas un nombre, faites typeof something !== "number" || isNaN(something)
.
Au cas où quelqu'un d'autre tomberait dessus, window.isNaN()
transformera une valeur en un nombre et vérifiera ensuite s'il s'agit de NaN
. Donc undefined
y "hello"
retournera true
alors que undefined
y ""
retourner false
. C'est pourquoi Number.isNaN
a été ajouté, car il vérifie explicitement la présence de NaN
sans la coercition initiale.
Cela vaut la peine de garder à l'esprit : "123.123"
retournera false, mais "123,123"
retournera vrai.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.