Hvad er forskellen mellem Null og Undefined i JavaScript?

Hvad er forskellen mellem Null og Undefined i JavaScript?

Denne vejledning vil se på forskellen mellem nul og udefineret værdier i JavaScript. At kende forskellen mellem disse to værdier er vigtigt for fejlfinding og oprettelse af fejlfri kode.





hvordan man opsætter to skærme

Brug din browserkonsol til at følge med eller afprøv de kodeeksempler, der diskuteres i denne vejledning.





Sammenligning af ligestilling mellem null 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, hvorimod udefineret er en primitiv værdi, der fungerer som en pladsholder for en variabel, der ikke er blevet tildelt en værdi.





Nul og udefineret værdier er ens, når de sammenlignes ved hjælp af JavaScript -ligestillingsoperatoren.

Brug ligestillingsoperatøren ( == ) 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 == undefined

Outputtet skal give dig noget, der ser sådan ud, den returnerede boolske værdi af sand betyder ganske enkelt, at de to værdier er ens.





Lær mere: Sådan erklæres variabler i JavaScript

Strenge ligestillingssammenligning

JavaScript har også en identitetsoperatør ( === ), også kendt som den strenge ligestillingsoperatør ud over ligestillingsoperatøren ( == )





Identitetsoperatøren går den 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 måske ikke identiske eller strengt ens, hvis deres underliggende typer er forskellige.

For at teste for streng lighed skal du bruge det tredobbelte lighedstegn som nedenfor.

null === undefined

Resultatet af ovenstående kommando giver dig en boolsk værdi af falsk , Med andre ord er de to værdier 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: Det ultimative JavaScript Cheat Sheet

typeof(null)

Nulværdien er af typen objekt som du kan se fra output nedenfor.

Kører en lignende test på udefineret værdi vil give dig et resultat af udefineret .

typeof(undefined)

Arbejde med tal

For at udforske flere forskelle, foretag 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. Brug af isFinite () funktion - hvis den testede værdi er et tal, vender funktionen tilbage sand ; ellers vender den tilbage falsk .

2. Brug af isNaN () funktion - hvis den testede værdi er et tal, vender den tilbage falsk ; ellers vender den tilbage sand .

Bemærk : erNaN er forkortelse for 'er ikke et tal'.

For at holde tingene enkle vil denne vejledning kun bruge isFinite () funktion for at teste, om værdien er et tal, men prøv også gerne isNaN () fungere. Begge disse funktioner tager den værdi, du vil køre taletesten på, som en parameter.

isFinite(null)

Resultatet er sand , betyder nul er en værdi af typen nummer i JavaScript. Hvorimod der udføres den samme test den udefineret vender tilbage falsk .

isFinite(undefined)

Type Tvang

JavaScript er et løst tastet sprog, og på grund af dette vil JavaScript automatisk konvertere resultatet til en type, det ønsker, når de udfører matematiske operationer.

Desværre kan denne automatiske konvertering, der almindeligvis kaldes type tvang, bringe mange overraskelser med sig.

Kør følgende numeriske handling nul og udefineret i din browserkonsol.

1 + null 3 * null 1 + undefined 3 * undefined;

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. Bemærk 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 under runtime.

Undgå Runtime Bugs

En god forståelse for nul og udefineret værdier er afgørende for at undgå runtime -fejl i din produktionskode. Fejl relateret til udefineret værdier kan være svære at fejlsøge og undgås bedst.

Overvej at bruge TypeScript til stærkt indtastet kode, der kompileres til JavaScript. I TypeScript kontrolleres din kode ved kompileringstidspunktet for at minimere driftstidsfejl i din produktionskode.

Del Del Tweet E -mail Relaterede emner
  • Programmering
  • JavaScript
  • Kodningstip
Om forfatteren Klar(36 artikler udgivet)

Mwiza udvikler software efter erhverv og skriver meget om Linux og front-end programmering. Nogle af hans interesser omfatter historie, økonomi, politik og virksomhedsarkitektur.

Mere fra Mwiza Kumwenda

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere