Baseline Widely available
La méthode Number.isNaN()
permet de déterminer si la valeur passée en argument est NaN
, avec un type Number
. Cette version est plus robuste que la méthode de l'objet global isNaN
.
function typeOfNaN(x) {
if (Number.isNaN(x)) {
return "Number NaN";
}
if (isNaN(x)) {
return "NaN";
}
}
console.log(typeOfNaN("100F"));
// Expected output: "NaN"
console.log(typeOfNaN(NaN));
// Expected output: "Number NaN"
Syntaxe
Number.isNaN(valeurÃTester);
Paramètres
valeurÃTester
La valeur qu'on souhaite comparer à NaN
.
Un booléen qui indique si la valeur fournie en argument est NaN
.
Les deux opérateurs d'égalité, ==
et ===
, renvoient false
pour vérifier que NaN
est NaN. La fonction Number.isNaN
est nécessaire pour distinguer ce cas. Le résultat de cette comparaison sera différent avec les autres méthodes de comparaisons en JavaScript.
En effet, la fonction globale isNaN
convertit l'argument en un nombre. Number.isNaN
ne convertit pas l'argument. Cela signifie qu'on peut passer des valeurs qui, normalement, seraient converties en NaN, mais qui ne sont pas NaN. Cela signifie également que, uniquement lorsque la méthode sera utilisée avec des nombres qui valent NaN
, elle renverra true
.
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0); // true
// tout le reste renverra : false
Number.isNaN(undefined);
Number.isNaN({});
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");
Number.isNaN("NaN");
Number.isNaN("blabla"); // ex : cette valeur aurait rendu true avec la méthode isNaN de l'objet global
Prothèse d'émulation (polyfill)
La fonction suivant fonctionne car NaN
est la seule valeur JavaScript qui n'est pas égale à elle-même.
Number.isNaN =
Number.isNaN ||
function (value) {
return typeof value === "number" && isNaN(value);
};
Spécifications Compatibilité des navigateurs Voir aussi
Number
auquel appartient cette méthode.Object.is
qui permet d'effectuer des comparaisons sur l'égalité de valeurisNaN
de l'objet globalRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4