Denne guide vil se på forskellen mellem nul og udefineret værdier i JavaScript. At kende forskellen mellem disse to værdier er vigtigt for fejlretning og oprettelse af fejlfri kode.
Brug din browserkonsol til at følge med eller prøve de kodeeksempler, der er beskrevet i denne vejledning.
Sammenligning af ligestilling mellem nul og udefinerede værdier
I JavaScript, nul er en primitiv værdi, der bruges til at betegne det forsætlige fravær af en objektværdi, mens udefineret er en primitiv værdi, der fungerer som pladsholder for en variabel, der ikke er tildelt en værdi.
Nul og udefineret værdier er ens, når de sammenlignes med JavaScript-ligestillingsoperatøren.
Brug ligestillingsoperatøren (==) for at sammenligne hvis nul og udefineret værdier er ens i JavaScript.
Åbn din browserkonsol, og indtast følgende kode, og tryk derefter på Gå ind.
null == udefineret
Outputtet skal give dig noget, der ser sådan ud, den returnerede boolske værdi på rigtigt betyder simpelthen, at de to værdier er ens.
Lær mere: Sådan erklæres variabler i JavaScript
Streng ligestillingssammenligning
JavaScript har også en identitetsoperator (), også kendt som den strenge ligestillingsoperatør ud over ligestillingsoperatøren (==)
Identitetsoperatøren går en ekstra mil ved at kontrollere, om den underliggende type af de værdier, der sammenlignes, er den samme. Dette betyder i det væsentlige, at selvom to værdier er ens, er de muligvis ikke identiske eller strengt ens, hvis deres underliggende typer er forskellige.
For at teste for streng lighed skal du bruge tredobbelt ligestilling som nedenfor.
null udefineret
Resultatet af ovenstående kommando giver dig en boolsk værdi på falsk, Med andre ord, de to værdier er ikke identiske, selvom de er ens.
Find ud af typen nul og udefineret
Brug den indbyggede JavaScript-funktion type() for at finde ud af den underliggende type af en værdi. Funktionen tager en enkelt parameter af den værdi, hvis type du vil finde.
Relaterede: The Ultimate JavaScript Cheat Sheet
typeof (null)
Nulværdien er af typen objekt som du kan se fra nedenstående output.
Kører en lignende test på udefineret værdi giver dig et resultat af udefineret.
type af (udefineret)
Arbejde med tal
For at udforske flere forskelle skal du udføre nummertesten på nul og udefineret værdier. Hvis en værdi er et tal, betyder det, at vi kan udføre numeriske operationer på det.
Der er to hovedmåder til at teste, om en værdi er et tal i JavaScript.
1. Bruger isFinite () funktion - hvis værdien, der testes, er et tal, vender funktionen tilbage rigtigt; ellers vender det tilbage falsk.
2. Bruger isNaN () funktion - hvis værdien, der testes, er et tal, vender den tilbage falskellers vender det tilbage rigtigt.
Bemærk: erNaN er forkortelse for "er ikke et tal".
For at holde tingene enkle bruger denne guide kun isFinite () funktion for at teste om værdien er et tal, men prøv også at prøve isNaN () fungere. Begge disse funktioner tager den værdi, du vil køre nummertesten på, som en parameter.
isFinite (null)
Resultatet er rigtigt, betyder nul er en værdi af typen nummer i JavaScript. Der henviser til, at udføre den samme test den udefineret vender tilbage falsk.
isFinite (udefineret)
Skriv tvang
JavaScript er et løst skrevet sprog, og derfor konverterer JavaScript automatisk resultatet til den type, det ønsker, når man udfører matematiske operationer.
Desværre kan denne automatiske konvertering, der ofte kaldes type tvang, medføre mange overraskelser.
Kør følgende numeriske handling på nul og udefineret i din browserkonsol.
1 + null
3 * null
1 + udefineret
3 * udefineret;
Som du kan se, kan du udføre nogle numeriske operationer på nul værdi, fordi det er et tal, der ikke har nogen værdi. Derfor behandles det som et nul. Vær opmærksom på det nul er ikke lig med nul i JavaScript, men det behandles på en eller anden måde sådan i dette tilfælde.
De numeriske operationer på udefineret værdi resulterer i returnering af NaN (Ikke et tal) værdi. Hvis det ikke behandles omhyggeligt, kan du opleve dette i løbetid.
Undgå Runtime Bugs
En god forståelse af nul og udefineret værdier er afgørende for at undgå runtime bugs i din produktionskode. Fejl relateret til udefineret værdier kan være svære at fejle og undgås bedst.
Overvej at bruge TypeScript til stærkt skrevet kode, der kompileres til JavaScript. I TypeScript kontrolleres din kode ved kompileringstid for at minimere runtime-bugs i din produktionskode.
- Programmering
- JavaScript
- Kodningstip

Mwiza udvikler software efter erhverv og skriver udførligt om Linux og front-end programmering. Nogle af hans interesser inkluderer historie, økonomi, politik og virksomhedsarkitektur.
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Et trin mere !!!
Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.