Wat is het verschil tussen Null en Undefined in JavaScript?

Wat is het verschil tussen Null en Undefined in JavaScript?

Deze gids zal kijken naar het verschil tussen: nul en ongedefinieerd waarden in JavaScript. Het is belangrijk om het verschil tussen deze twee waarden te kennen voor het debuggen en het maken van foutloze code.





hoe krijg je Apple Education-korting?

Gebruik uw browserconsole om de codevoorbeelden die in deze handleiding worden besproken, te volgen of uit te proberen.





Gelijkheid van nul- en ongedefinieerde waarden vergelijken

In javascript, nul is een primitieve waarde die wordt gebruikt om de opzettelijke afwezigheid van een objectwaarde aan te duiden, terwijl ongedefinieerd is een primitieve waarde die fungeert als een tijdelijke aanduiding voor een variabele waaraan geen waarde is toegewezen.





Nul en ongedefinieerd waarden zijn gelijk wanneer ze worden vergeleken met de JavaScript-operator voor gelijkheid.

Gebruik de gelijkheidsoperator ( == ) om te vergelijken als nul en ongedefinieerd waarden zijn gelijk in JavaScript.



Open uw browserconsole en voer de volgende code in, druk vervolgens op Binnenkomen.

null == undefined

De uitvoer zou je iets moeten geven dat er zo uitziet, de geretourneerde booleaanse waarde van waar betekent simpelweg dat de twee waarden gelijk zijn.





Meer informatie: variabelen declareren in JavaScript

Strikte gelijkheidsvergelijking

JavaScript heeft ook een identiteitsoperator ( === ), ook bekend als de operator voor strikte gelijkheid naast de operator voor gelijkheid ( == )





De identiteitsoperator gaat een stap verder door te controleren of het onderliggende type van de waarden die worden vergeleken hetzelfde is. Dit betekent in wezen dat, hoewel twee waarden gelijk zijn, ze mogelijk niet identiek of strikt gelijk zijn als hun onderliggende typen verschillend zijn.

Gebruik het drievoudige gelijkteken zoals hieronder om te testen op strikte gelijkheid.

null === undefined

Het resultaat van het bovenstaande commando geeft je een booleaanse waarde van vals , Met andere woorden, de twee waarden zijn niet identiek, ook al zijn ze gelijk.

Het type nul en ongedefinieerd achterhalen

Gebruik de ingebouwde JavaScript-functie soort van() om het onderliggende type van een waarde te achterhalen. De functie neemt een enkele parameter van de waarde waarvan u het type wilt vinden.

Verwant: Het ultieme JavaScript-spiekbriefje

typeof(null)

De null-waarde is van het type object zoals je kunt zien aan de output hieronder.

Een soortgelijke test uitvoeren op de ongedefinieerd waarde geeft u een resultaat van ongedefinieerd .

typeof(undefined)

Werken met cijfers

Om meer verschillen te ontdekken, voert u de getallentest uit op nul en ongedefinieerd waarden. Als een waarde een getal is, betekent dit dat we er numerieke bewerkingen op kunnen uitvoeren.

Er zijn twee manieren om te testen of een waarde een getal is in JavaScript.

1. Met behulp van de is Eindig () functie: als de te testen waarde een getal is, retourneert de functie waar ; anders keert het terug vals .

2. Met behulp van de isNaN() functie - als de te testen waarde een getal is, geeft het terug vals ; anders keert het terug waar .

Opmerking : isNaN is een afkorting voor 'is geen nummer'.

Om het eenvoudig te houden, gebruikt deze gids alleen de is Eindig () functie om te testen of de waarde een getal is, maar probeer ook de isNaN() functie. Beide functies nemen de waarde waarop u de getaltest wilt uitvoeren als parameter.

isFinite(null)

Het resultaat is waar , betekenis nul is een waarde van het type nummer in javascript. Terwijl het uitvoeren van dezelfde test op ongedefinieerd geeft terug vals .

isFinite(undefined)

Type dwang

JavaScript is een losjes getypte taal en daarom zal JavaScript bij het uitvoeren van wiskundige bewerkingen het resultaat automatisch converteren naar een type dat het wil.

Helaas kan deze automatische conversie, die gewoonlijk typedwang wordt genoemd, veel verrassingen met zich meebrengen.

Voer de volgende numerieke bewerking uit op: nul en ongedefinieerd in uw browserconsole.

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

Zoals u kunt zien, kunt u enkele numerieke bewerkingen uitvoeren op de nul waarde omdat het een getal is dat geen waarde heeft. Daarom wordt het behandeld als een nul. Houd er rekening mee dat nul is niet gelijk aan nul in JavaScript, maar in dit geval wordt het op de een of andere manier zo behandeld.

De numerieke bewerkingen op de ongedefinieerd waarde resulteren in het retourneren van de NaN (Geen getal) waarde. Als u niet zorgvuldig wordt behandeld, kunt u dit tijdens runtime ervaren.

Runtime-bugs vermijden

Een goed begrip van nul en ongedefinieerd waarden is van vitaal belang om runtime-bugs in uw productiecode te voorkomen. Bugs gerelateerd aan ongedefinieerd waarden kunnen moeilijk te debuggen zijn en kunnen het beste worden vermeden.

Overweeg TypeScript te gebruiken voor sterk getypte code die wordt gecompileerd naar JavaScript. In TypeScript wordt uw code tijdens het compileren gecontroleerd om runtime-bugs in uw productiecode te minimaliseren.

Deel Deel Tweeten E-mail Gerelateerde onderwerpen
  • Programmeren
  • JavaScript
  • Codeertips
Over de auteur Klaar om te vertrekken(36 artikelen gepubliceerd)

Mwiza ontwikkelt software van beroep en schrijft uitgebreid over Linux en front-end programmeren. Enkele van zijn interesses zijn geschiedenis, economie, politiek en ondernemingsarchitectuur.

Meer van Mwiza Kumwenda

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren