Mitä eroa on Nullin ja Undefinedin välillä JavaScriptissä?

Mitä eroa on Nullin ja Undefinedin välillä JavaScriptissä?

Tässä oppaassa tarkastellaan eroa tyhjä ja määrittelemätön arvot JavaScriptissä. Näiden kahden arvon välisen eron tunteminen on tärkeää virheenkorjauksen ja virheettömän koodin luomisen kannalta.





kuinka päästä eroon vesileimoista Photoshopissa

Seuraa tai kokeile tässä oppaassa käsiteltyjä koodinäytteitä selainkonsolin avulla.





Nolla- ja määrittelemättömien arvojen tasa -arvon vertailu

JavaScriptissä tyhjä on primitiivinen arvo, jota käytetään osoittamaan kohdearvon tahallinen puuttuminen, kun taas määrittelemätön on primitiivinen arvo, joka toimii paikkamerkkinä muuttujalle, jolle ei ole määritetty arvoa.





Tyhjä ja määrittelemätön arvot ovat yhtä suuret verrattuna JavaScript -tasa -arvo -operaattoriin.

Käytä tasa -arvo -operaattoria ( == ) vertailla jos tyhjä ja määrittelemätön arvot ovat samat JavaScriptissä.



Avaa selainkonsoli ja syötä seuraava koodi ja paina sitten Tulla sisään.

null == undefined

Tuloksen pitäisi antaa sinulle jotain, joka näyttää tältä, palautettu looginen arvo totta tarkoittaa yksinkertaisesti sitä, että nämä kaksi arvoa ovat samat.





Lue lisää: Muuttujien ilmoittaminen JavaScriptissä

Tiukka tasa -arvon vertailu

JavaScriptillä on myös identiteettioperaattori ( === ), joka tunnetaan myös tasa -arvooperaattorin ( == )





Identiteettioperaattori menee ylimääräiselle mailille tarkistamalla, onko vertailtavien arvojen perustyyppi sama. Tämä tarkoittaa lähinnä sitä, että vaikka kaksi arvoa ovat yhtä suuret, ne eivät välttämättä ole identtisiä tai täysin samoja, jos niiden taustalla olevat tyypit ovat erilaisia.

Testaa tiukka tasa -arvo käyttämällä kolminkertaista yhtäläisyysmerkkiä alla kuvatulla tavalla.

null === undefined

Yllä olevan komennon tulos antaa sinulle boolen arvon väärä , Toisin sanoen nämä kaksi arvoa eivät ole identtisiä, vaikka ne ovatkin samanlaisia.

Tyhjän ja määrittelemättömän tyypin selvittäminen

Käytä sisäänrakennettua JavaScript-toimintoa tyyppi() selvittääksesi arvon taustalla olevan tyypin. Toiminto ottaa yhden parametrin sen arvon, jonka tyypin haluat löytää.

Aiheeseen liittyviä: Lopullinen JavaScript -huijausarkki

typeof(null)

Nolla -arvo on tyyppiä esine kuten näet alla olevasta tuotoksesta.

Samanlainen testi suoritetaan määrittelemätön arvo antaa sinulle tuloksen määrittelemätön .

typeof(undefined)

Työskentely numeroiden kanssa

Jos haluat löytää lisää eroja, suorita numerotesti tyhjä ja määrittelemätön arvot. Jos arvo on luku, se tarkoittaa, että voimme suorittaa sille numeerisia toimintoja.

On kaksi tapaa testata, onko arvo JavaScriptin luku.

1. Käyttämällä isFinite () funktio - jos testattava arvo on luku, funktio palauttaa totta ; muuten palaa väärä .

2. Käyttämällä isNaN () funktio - jos testattava arvo on luku, se palauttaa väärä ; muuten palaa totta .

Huomautus : isNaN on lyhenne sanoista 'is Not a Number'.

Pidä asiat yksinkertaisina, tässä oppaassa käytetään vain isFinite () -toimintoa, jos haluat testata, onko arvo numero, mutta kokeile myös isNaN () toiminto. Molemmat toiminnot ottavat parametriksi arvon, jolle haluat suorittaa numerotestin.

isFinite(null)

Tulos on totta , merkitys tyhjä on tyypin arvo määrä JavaScriptissä. Kun taas sama testi suoritetaan määrittelemätön palaa väärä .

isFinite(undefined)

Tyyppi pakotus

JavaScript on löyhästi kirjoitettu kieli, ja tästä syystä JavaScript muuntaa tuloksen automaattisesti haluamaansa tyyppiin suorittaessaan matemaattisia toimintoja.

Valitettavasti tämä automaattinen muuntaminen, jota yleisesti kutsutaan tyypin pakottamiseksi, voi tuoda mukanaan paljon yllätyksiä.

Suorita seuraava numeerinen toiminto tyhjä ja määrittelemätön selainkonsolissa.

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

Kuten näet, voit suorittaa joitakin numeerisia toimintoja tyhjä arvo, koska se on luku, jolla ei ole arvoa. Siksi sitä kohdellaan kuin nollaa. Huomaa se tyhjä ei ole yhtä kuin nolla JavaScriptissä, mutta sitä käsitellään jotenkin tällä tavalla.

Numeeriset toiminnot määrittelemätön arvon tuloksena NaN (Ei luku) -arvo. Jos sitä ei käsitellä huolellisesti, voit kokea tämän ajon aikana.

Ajonaikaisten virheiden välttäminen

Hyvä ymmärrys tyhjä ja määrittelemätön arvot on elintärkeää, jotta vältetään ajonaikaiset virheet tuotantokoodissasi. Virheitä, jotka liittyvät määrittelemätön arvoja voi olla vaikea korjata ja niitä kannattaa välttää.

Harkitse TypeScriptin käyttöä vahvasti kirjoitettuun koodiin, joka kääntää JavaScriptin. TypeScript-koodisi tarkistetaan käännöshetkellä, jotta tuotantokoodin ajonaikaiset virheet voidaan minimoida.

Jaa Jaa Tweet Sähköposti Liittyvät aiheet
  • Ohjelmointi
  • JavaScript
  • Koodausvinkkejä
Kirjailijasta Hyvä mennä(36 artikkelia julkaistu)

Mwiza kehittää ohjelmistoja ammatin mukaan ja kirjoittaa laajasti Linux- ja käyttöliittymäohjelmoinnista. Joitakin hänen kiinnostuksen kohteitaan ovat historia, talous, politiikka ja yritysarkkitehtuuri.

Lisää Mwiza Kumwendalta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi