Aihe: JavaScript / jQueryPrev | Seuraava
Vastaus: Käytä tasa-arvooperaattoria (==)
JavaScriptissä, jos muuttuja on ilmoitettu , mutta sille ei ole määritetty arvoa, sille määritetään automaattisesti arvo undefined
. Siksi, jos yrität näyttää tällaisen muuttujan arvon, sana ”undefined” tulee näkyviin. Kun taas null
on erityinen määritysarvo, joka voidaan määrittää muuttujalle ilman arvoa.
Yksinkertaisilla sanoilla voit sanoa null
-arvolla ei tarkoiteta arvoa tai arvon puuttumista, ja undefined
tarkoittaa muuttujaa, joka on ilmoitettu, mutta jolle ei ole vielä annettu arvoa.
Voit tarkistaa, onko muuttuja määrittelemätön tai tyhjä, käyttämällä tasa-arvooperaattoria ==
tai tiukkaa tasa-arvooperaattoria ===
(myös kutsutaan henkilöllisyysoperaattoriksi). Tarkastellaan seuraavaa esimerkkiä:
Jos yrität testata null
-arvoja käyttämällä typeof
operaattori se ei toimi odotetulla tavalla, koska JavaScript palauttaa ”objektin” kohteelle typeof null
”null”: n sijasta.
Tämä on pitkäaikainen virhe JavaScriptissä , mutta koska tämän käyttäytymisen ympärille on kirjoitettu paljon koodeja verkossa ja siten sen korjaaminen aiheuttaisi paljon enemmän ongelmia, niin JavaScriptin suunnitteleva ja ylläpitävä komitea hylkäsi ajatuksen ongelman korjaamisesta.
Huomaa: undefined
ei ole varattu avainsana JavaScriptissä, joten muuttuja voidaan ilmoittaa nimellä undefined. Joten oikea tapa testata muuttujaa tai ominaisuutta undefined
käyttää typeof
-operaattoria, kuten tämä: if(typeof myVar === "undefined")
.
Liittyvät usein kysytyt kysymykset
Tässä on lisää tähän aiheeseen liittyviä usein kysyttyjä kysymyksiä:
- Kuinka tarkistaa, onko muuttuja olemassa tai määritelty JavaScriptiä
- Kuinka tarkistaa, onko arvo numeerinen vai ei jQueryssä
- Kuinka tarkistaa, onko Java-taulukossa arvoa