Det er like enkelt å se etter NaN («ikke et tall») som å sjekke om det er likeverd i JavaScript.
Dr. Derek Austin 🥳
Følg
15. sep 2019 · 4 min les
I JavaScript brukes den spesielle verdien NaN (som betyr» ikke et tall «) for å representere resultatet av en matematisk beregning som ikke kan representeres som et meningsfylt tall. – Joshua Clanton on A Drip of JavaScript
Spesialverdien NaN vises i JavaScript når Math funksjoner mislykkes (Math.sqrt(-37)) eller når en funksjon som prøver å parsere et nummer mislykkes (parseInt("No integers here")).
NaN forgifter deretter alle andre matematiske funksjoner, noe som fører til alle andre matematiske operasjoner som resulterer i NaN.
Merk at divisjon med 0 i JavaScript returnerer Infinity, ikke NaN:
Dette resultatet er på grunn av hvor flytende poi nt er definert, mer generelt enn bare Javascript. Hvorfor? Omtrent, fordi 1/0 er grensen på 1 / x når x nærmer seg null. Og 0/0 har ingen rimelig tolkning i det hele tatt, derav NaN.
Hva er NaN uansett?
NaN er en egenskap for det globale objektet. Den opprinnelige verdien av NaN er Not-A-Number – den samme som verdien for Number.NaN. – MDN Docs
Det er vanskeligere å sjekke for NaN
Dessverre er det to problemer med å prøve å se etter NaN:
typeof NaN er» nummer «
NaN er ulik alle andre verdier i JavaScript
Sjekk dette kodeeksemplet:
Så hvordan sjekker vi om vi har en NaN -verdi som vil forgifte matematikk?