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.
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 Voer in.
null == niet gedefinieerd
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.
Kom meer te weten: 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
type (null)
De null-waarde is van het type voorwerp zoals je kunt zien aan de output hieronder.
Een soortgelijke test uitvoeren op de on ongedefinieerd waarde geeft u een resultaat van ongedefinieerd.
type (niet gedefinieerd)
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. De... gebruiken is Eindig() functie: als de te testen waarde een getal is, retourneert de functie waar; anders keert het terug vals.
2. De... gebruiken 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.
is Eindig (null)
Het resultaat is waar, betekenis nul is een waarde van het type aantal in javascript. Terwijl het uitvoeren van dezelfde test op ongedefinieerd geeft terug vals.
is eindig (niet gedefinieerd)
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 * nul
1 + niet gedefinieerd
3 * niet gedefinieerd;
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.
- Programmeren
- JavaScript
- Codeertips
Mwiza ontwikkelt software van beroep en schrijft uitgebreid over Linux en front-end programmeren. Enkele van zijn interesses zijn geschiedenis, economie, politiek en ondernemingsarchitectuur.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.