Denna guide kommer att titta på skillnaden mellan null och odefinierad värden i JavaScript. Att veta skillnaden mellan dessa två värden är viktigt för felsökning och skapa felfri kod.

Använd din webbläsarkonsol för att följa med eller prova kodproverna som diskuteras i den här guiden.

Jämföra jämställdhet mellan noll och odefinierade värden

I JavaScript, null är ett primitivt värde som används för att beteckna avsiktlig frånvaro av ett objektvärde, medan odefinierad är ett primitivt värde som fungerar som en platshållare för en variabel som inte har tilldelats ett värde.

Null och odefinierad värdena är lika när de jämförs med JavaScript-jämställdhetsoperatören.

Använd jämställdhetsoperatören (==) för att jämföra om null och odefinierad värdena är lika i JavaScript.

Öppna din webbläsarkonsol och mata in följande kod och tryck sedan på Stiga på.

 null == odefinierad 

Utgången ska ge dig något som ser ut så här, det returnerade booleska värdet på Sann betyder helt enkelt att de två värdena är lika.

instagram viewer

Läs mer: Hur man deklarerar variabler i JavaScript

Strikt jämställdhetsjämförelse

JavaScript har också en identitetsoperatör (), även känd som den strikta jämställdhetsoperatören utöver jämställdhetsoperatören (==)

Identitetsoperatören går en extra mil genom att kontrollera om den underliggande typen av värden som jämförs är densamma. Detta innebär i huvudsak att även om två värden är lika, kanske de inte är identiska eller strikt lika om deras underliggande typer är olika.

För att testa för strikt jämlikhet, använd trippeltecken enligt nedan.

 null odefinierad 

Resultatet av kommandot ovan ger dig ett booleskt värde på falsk, Med andra ord, de två värdena är inte identiska trots att de är lika.

Ta reda på vilken typ av noll och odefinierad

Använd den inbyggda JavaScript-funktionen sorts() för att ta reda på den underliggande typen av ett värde. Funktionen tar en enda parameter av värdet vars typ du vill hitta.

Relaterad: The Ultimate JavaScript Cheat Sheet

 typ av (null) 

Nollvärdet är av typ objekt som du kan se från utdata nedan.

Kör ett liknande test på odefinierad värde ger dig ett resultat av odefinierad.

 typ av (odefinierad) 

Arbeta med siffror

För att söka efter fler skillnader, gör nummertestet på null och odefinierad värden. Om ett värde är ett tal innebär det att vi kan utföra numeriska operationer på det.

Det finns två huvudsakliga sätt att testa om ett värde är ett nummer i JavaScript.

1. Använda isFinite () funktion - om värdet som testas är ett tal, återgår funktionen Sann; annars återkommer den falsk.

2. Använda isNaN () funktion - om värdet som testas är ett nummer, återgår det falskannars kommer det tillbaka Sann.

Notera: isNaN är förkortning för "är inte ett nummer".

För att göra det enkelt, kommer den här guiden bara att använda isFinite () funktion för att testa om värdet är ett tal, men prova gärna också isNaN () fungera. Båda dessa funktioner tar värdet som du vill köra nummertestet som en parameter.

isFinite (null) 

Resultatet är Sann, vilket betyder null är ett värde av typen siffra i JavaScript. Medan du utför samma test den odefinierad återvänder falsk.

isFinite (odefinierad)

Skriv tvång

JavaScript är ett löst skrivet språk, och på grund av detta konverterar JavaScript automatiskt resultatet till en typ det vill ha när du utför matematiska operationer.

Tyvärr kan denna automatiska omvandling, som vanligtvis kallas typtvingning, ge många överraskningar.

Kör följande numeriska operation på null och odefinierad i din webbläsarkonsol.

1 + null
3 * null
1 + odefinierad
3 * odefinierad;

Som du kan se kan du utföra några numeriska operationer på null värde eftersom det är ett tal som inte har något värde. Därför behandlas det som en noll. Notera det null är inte lika med noll- i JavaScript, men det behandlas på något sätt så i det här fallet.

De numeriska operationerna på odefinierad värde resulterar i att returnera NaN (Inte ett nummer) värde. Om du inte behandlas noggrant kan du uppleva detta under körning.

Undvik Runtime Bugs

En god förståelse för null och odefinierad värden är viktigt för att undvika runtime buggar i din produktionskod. Fel relaterade till odefinierad värden kan vara svåra att felsöka och undviks bäst.

Överväg att använda TypeScript för starkt skriven kod som kompileras till JavaScript. I TypeScript kontrolleras din kod vid kompileringstid för att minimera runtime-buggar i din produktionskod.

E-post
Relaterade ämnen
  • Programmering
  • JavaScript
  • Kodningstips
Om författaren
Mwiza Kumwenda (22 artiklar publicerade)

Mwiza utvecklar programvara av yrke och skriver mycket om Linux och front-end programmering. Några av hans intressen inkluderar historia, ekonomi, politik och företagsarkitektur.

Mer från Mwiza Kumwenda

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.