Controleren op NaN (“geen getal”) is net zo eenvoudig als controleren op zelfgelijkheid in JavaScript.
Dr. Derek Austin 🥳
Volgen
15 september 2019 · 4 min gelezen
In JavaScript wordt de speciale waarde NaN (wat” geen getal “betekent) gebruikt om het resultaat weer te geven van een wiskundige berekening die niet kan worden weergegeven als een betekenisvol nummer. – Joshua Clanton over A Drip of JavaScript
De speciale waarde NaN verschijnt in JavaScript wanneer Math functies mislukken (Math.sqrt(-37)) of wanneer een functie die probeert een nummer te parseren mislukt (parseInt("No integers here")).
NaN vergiftigt vervolgens alle andere wiskundige functies, wat leidt tot alle andere wiskundige bewerkingen resulterend in NaN.
Merk op dat in JavaScript, delen door 0 retourneert Infinity, niet NaN:
Dit resultaat is vanwege hoe zwevende poi nt is gedefinieerd, meer in het algemeen dan alleen Javascript. Waarom? Ongeveer omdat 1/0 de limiet is van 1 / x als x nul nadert. En 0/0 heeft helemaal geen redelijke interpretatie, vandaar NaN.
Wat is NaN eigenlijk?
NaN is een eigenschap van het globale object. De beginwaarde van NaN is Not-A-Number – hetzelfde als de waarde van Number.NaN. – MDN Docs
Controleren op NaN is moeilijker dan het lijkt
Helaas zijn er twee problemen bij het zoeken naar NaN:
De typeof NaN is” nummer “
NaN is ongelijk aan elke andere waarde in JavaScript
Bekijk dit codevoorbeeld:
Dus hoe controleren we of we een NaN waarde hebben die wiskunde vergiftigt?