További
Annak ellenőrzése, hogy egy változó egy karakterlánc-e JavaScriptben
Hogyan tudom meghatározni, hogy egy változó egy karakterlánc vagy valami más a JavaScriptben?
1539
3
Nálam ez működik:
Használhatja a
typeof
operátort:Példa erről a weboldalról. (A példát azonban kissé módosítottuk).
Ez a
new String()
segítségével létrehozott karakterláncok esetében nem működik a várt módon, de ezt ritkán használják, és ajánlott ellene[1][2]. A többi válaszban megtalálod, hogyan kezelheted ezeket, ha szeretnéd.A legjobb módja:
Ezek mindegyike a megfelelő osztályfüggvényével lett létrehozva, mint például "new Object()" stb.
Továbbá a kacsa-tipizálás: "Ha úgy néz ki, mint egy kacsa, úgy jár, mint egy kacsa, és úgy szaglik, mint egy kacsa - akkor bizonyára egy Array" Vagyis ellenőrizd a tulajdonságait.
Remélem, ez segít.
Edit; 2016.05.12.
Ne feledd, mindig használhatod a megközelítések kombinációit is. Itt's egy példa a inline map műveletek typeof használatával:
Itt'van egy 'valósabb' példa az inline-térképek használatára:
Ez a függvény [ custom ] "type-casting" -- inkább "type-/value-mapping" -- használna, hogy kiderítse, hogy egy változó valóban "létezik". Most már szétválaszthatod azt a csúnya szőrszálat a
null
&0
között!Sokszor nem is érdekel a típusa. Egy másik módja a tipizálás megkerülésének a Duck-Type halmazok kombinálása:
Mind a
Number.prototype
és aString.prototype
rendelkezik egy.toString() metódussal
. Te csak megbizonyosodtál arról, hogy a szám string-egyenértékűje ugyanaz, majd megbizonyosodtál arról, hogyszámként
adtad át azhttp
függvénybe. Más szóval, még csak nem is voltunk tekintettel arra, hogy milyen típusú.Remélem, hogy ez több munkalehetőséget ad neked :)