Det er lige så simpelt at kontrollere for NaN (“ikke et tal”) som at kontrollere for selvstændighed i JavaScript.
Dr. Derek Austin 🥳
Følg
15. sep 2019 · 4 min læsning
I JavaScript bruges den specielle værdi NaN (hvilket betyder” ikke et tal “) til at repræsentere resultatet af en matematisk beregning, der ikke kan repræsenteres som et meningsfuldt tal. – Joshua Clanton on A Drip of JavaScript
Den specielle værdi NaN vises i JavaScript, når Math -funktioner mislykkes (Math.sqrt(-37)), eller når en funktion, der forsøger at parse et nummer mislykkes (parseInt("No integers here")).
NaN forgifter derefter alle andre matematiske funktioner, hvilket fører til alle andre matematiske operationer, hvilket resulterer i NaN.
Bemærk at i JavaScript returnerer division med 0 Infinity, ikke NaN:
Dette resultat skyldes, at flydende poi nt er defineret mere generelt end bare Javascript. Hvorfor? Groft, fordi 1/0 er grænsen på 1 / x, når x nærmer sig nul. Og 0/0 har overhovedet ingen rimelig fortolkning, derfor NaN.
Hvad er NaN alligevel?
NaN er en egenskab for det globale objekt. Den oprindelige værdi af NaN er ikke-A-nummer – det samme som værdien for Number.NaN. – MDN Docs
Det er sværere at kontrollere NaN end det ser ud
Desværre er der to problemer med at forsøge at kontrollere NaN:
typeof NaN er” nummer “
NaN er ulige alle andre værdier i JavaScript
Tjek dette kodeeksempel:
Så hvordan kontrollerer vi, om vi har en NaN -værdi, der vil forgifte matematik?