Lisää
Tarkista, onko muuttuja merkkijono JavaScriptissä
Miten voin määrittää, onko muuttuja merkkijono vai jokin muu JavaScriptissä?
1539
3
Miten voin määrittää, onko muuttuja merkkijono vai jokin muu JavaScriptissä?
Tämä toimii minulle:
Voit käyttää
typeof
-operaattoria:Esimerkki tältä verkkosivulta. (Esimerkkiä on kuitenkin hieman muokattu).
Tämä ei toimi odotetusti merkkijonojen tapauksessa, jotka on luotu komennolla
new String()
, mutta sitä käytetään harvoin ja sitä suositellaan vastoin[1][2]. Katso muista vastauksista, miten näitä käsitellään, jos niin haluat.Paras tapa:
Kukin näistä on luotu asianmukaisella luokkatoiminnolla, kuten "new Object()" jne.
Myös Duck-Typing: "Jos se näyttää ankalta, kävelee kuin ankka ja haisee kuin ankka - sen täytyy olla Array" Tarkoittaen, tarkista sen ominaisuudet.
Toivottavasti tästä on apua.
Edit; 12/05/2016
Muista, että voit aina käyttää myös lähestymistapojen yhdistelmiä. Tässä'on esimerkki toimintojen inline-kartan käyttämisestä typeof:n kanssa:
Tässä'on 'todellisempi 'esimerkki inline-karttojen käytöstä:
Tämä funktio käyttäisi [ custom ] "type-casting" -- pikemminkin "type-/value-mapping" -- selvittääkseen, onko muuttuja todella "olemassa". Nyt voit jakaa tuon ikävän hiuksen
null
&0
välillä!Monesti ei edes välitä sen tyypistä. Toinen tapa kiertää tyypittelyä on Duck-Type-sarjojen yhdistäminen:
Sekä
Number.prototype
ettäString.prototype
:lla on.toString()-metodi
. Varmistit vain, että numeron merkkijono-ekvivalentti oli sama, ja sitten varmistit, että annoit senhttp
-funktioonNumber
:nä. Toisin sanoen, emme edes huolehtineet sen tyypistä.Toivottavasti tämä antaa sinulle lisää työstettävää :)