Tässä oppaassa tarkastellaan eroa tyhjä ja undefined arvot JavaScriptissä. Näiden kahden arvon eron tunteminen on tärkeää virheenkorjauksessa ja virheettömän koodin luomisessa.

Käytä selainkonsolia seurataksesi tai kokeillaksesi tässä oppaassa käsiteltyjä koodinäytteitä.

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

JavaScriptissä tyhjä on primitiivinen arvo, jota käytetään osoittamaan kohde-arvon tarkoituksellinen puuttuminen, kun taas undefined on primitiivinen arvo, joka toimii paikkamerkkinä muuttujalle, jolle ei ole määritetty arvoa.

Tyhjä ja undefined arvot ovat samat verrattuna JavaScript-tasaoperaattoriin.

Käytä tasa-arvooperaattoria (==) verrata jos tyhjä ja undefined arvot ovat samat JavaScriptissä.

Avaa selainkonsoli ja kirjoita 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.

Lisätietoja: Kuinka ilmoittaa muuttujat JavaScriptissä

instagram viewer

Tiukka tasa-arvon vertailu

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

Identiteettioperaattori kulkee ylimääräisen mailin tarkistamalla, onko vertailtavien arvojen taustalla oleva tyyppi sama. Tämä tarkoittaa pohjimmiltaan, että vaikka kaksi arvoa ovat samat, ne eivät välttämättä ole identtisiä tai ehdottomasti samanlaisia, jos niiden perustyypit ovat erilaiset.

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

 null undefined 

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

Nullin ja määrittelemättömyyden tyypin selvittäminen

Käytä sisäänrakennettua JavaScript-toimintoa tyyppi() selvittää arvon taustalla oleva tyyppi. Funktio ottaa yhden parametrin arvosta, jonka tyypin haluat löytää.

Liittyvät: Lopullinen JavaScript-huijaussivu

 typeof (nolla) 

Nolla-arvo on tyyppiä esine kuten näet alla olevasta lähdöstä.

Samanlaisen testin suorittaminen undefined arvo antaa sinulle tuloksen undefined.

 typeof (määrittelemätön) 

Numeroiden käyttö

Voit tutkia lisää eroja suorittamalla numerotestin tyhjä ja undefined arvot. Jos arvo on luku, se tarkoittaa, että voimme suorittaa sillä numeerisia operaatioita.

On kaksi päätapaa testata, onko arvo JavaScriptissä luku.

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

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

Merkintä: ei ole on lyhenne sanoista "ei ole numero".

Jotta asiat olisivat yksinkertaisia, tässä oppaassa käytetään vain isFinite () toiminto testata onko arvo luku, mutta kokeile myös isNaN () toiminto. Molemmat toiminnot ottavat parametrina arvon, jolla haluat suorittaa numerotestin.

isFinite (nolla) 

Tulos on totta, merkitys tyhjä on tyypin arvo määrä JavaScriptissä. Saman testin suorittaminen undefined palaa väärä.

isFinite (määrittelemätön)

Tyyppi Pakko

JavaScript on löyhästi kirjoitettu kieli, ja siksi matemaattisia operaatioita suoritettaessa JavaScript muuntaa tuloksen automaattisesti haluamallaan tyypillä.

Valitettavasti tämä automaattinen muunnos, jota kutsutaan yleisesti tyyppikohtaiseksi pakoksi, voi tuoda mukanaan paljon yllätyksiä.

Suorita seuraava numeerinen toiminto tyhjä ja undefined selainkonsolissa.

1 + nolla
3 * nolla
1 + määrittelemätön
3 * määrittelemätön;

Kuten näette, voit suorittaa joitakin numeerisia operaatioita tyhjä arvo, koska se on luku, jolla ei ole arvoa. Siksi sitä kohdellaan kuin nolla. Huomaa se tyhjä ei ole yhtä suuri kuin nolla JavaScriptiä, mutta sitä käsitellään jotenkin tällä tavoin.

Numeeriset operaatiot undefined arvo palauttaa arvon NaN (Ei luku) -arvo. Jos sitä ei hoideta huolellisesti, voit kokea tämän ajon aikana.

Suorituksenaikaisen virheen välttäminen

Hyvä ymmärrys tyhjä ja undefined arvot on elintärkeää, jotta vältetään ajonaikaiset virheet tuotantokoodissasi. Aiheeseen liittyvät virheet undefined arvoja voi olla vaikea debugata, ja niitä on parasta välttää.

Harkitse TypeScriptin käyttöä vahvasti kirjoitetulle koodille, joka kääntyy JavaScriptiksi. TypeScriptissä koodisi tarkistetaan käännösaikana tuotantokoodin ajonaikaisen virheen minimoimiseksi.

Sähköposti
Liittyvät aiheet
  • Ohjelmointi
  • JavaScript
  • Koodausvinkit
Kirjailijasta
Mwiza Kumwenda (22 artikkelia julkaistu)

Mwiza kehittää ohjelmistoja ammattinsa mukaan ja kirjoittaa laajasti Linux- ja käyttöliittymän ohjelmointiin. Jotkut hänen kiinnostuksen kohteistaan ​​ovat historia, taloustiede, politiikka ja yritysarkkitehtuuri.

Lisää artistilta Mwiza Kumwenda

Tilaa uutiskirjeemme

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Vielä yksi askel !!!

Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.

.