Proměnná ukaž, co v sobě ukrýváš za data?
Při programování nejen web aplikací je často potřeba znát, jaký typ dat obsahuje proměnná, se kterou se právě chystáme provádět nějaké operace. Při pokusu o provedení operace s datovým typem, který dané funkce nepodporuje, může dojít i k havárii celého programu. V tomto článku si ukážeme, jak se tomuto jevu úspěšně bránit.
Visual Basic Script používá pouze jeden datový typ a to sice typ Variant, který „zastřešuje“ jednotlivé podtypy. Až do vložení hodnoty (na rozdíl od klasického Visual Basicu či C++) do proměnné není známo, jakého podtypu vlastně proměnná bude. V okamžiku, kdy do proměnné vložíte něco jiného, je automaticky měněn podtyp podle toho, co jste do proměnné vložili. Důsledkem této vlastnosti jediného datového typu Variant je to, že musíte jako programátor důsledně kontrolovat to, jaký podtyp je v proměnné právě v okamžiku, kdy chcete s proměnnou provést nějakou operaci.
IsNumeric
Funkce IsNumeric přebírá jako svůj parametr proměnnou u které chceme určit datový typ. Jako výsledek své činnosti vrací True nebo False podle toho zda testovaná proměnná je typu Numeric či nikoliv.
Syntaxe:
|
Příklad:
|
V příkladech jsem vám názorně ukázal jak se funkce IsNumeric chová při testování různých hodnot.
IsArray
Funkce IsArray vrací True v případě, že testovaná proměnná obsahuje pole nebo False v případě, že pole neobsahuje.
Syntaxe:
|
Příklad:
|
V tomto příkladu jsem vám předvedl, jak se funkce IsArray chová při testování pole. Pokud bychom testovali něco jiného než pole, tak nám funkce IsArray vrátí false.
IsDate
Funkce IsDate slouží ke zjistění, zda lze hodnotu uloženou v proměnné převést na datum nebo čas.
Syntaxe:
|
Příklad:
|
V tomto příkladu jsou tři různé proměnné naplněny hodnotami. ProměnnáMyDate obsahuje řetězec převeditelný na datum a proměnná YourDate obsahuje přímo datum. Protikladem je proměnná NoDate, která obsahuje řetězec, jenž se nedá interpretovat jako datum. Výsledek testování pomocí funkce IsDate je uveden v kometářích uvnitř příkladu.
IsObject
Funkce vrací true v případě, že proměnná obsahuje odkaz na platný objekt vytvořený pomocí server.createobject nebo pomocí createobject.
Syntaxe:
|
Příklad:
|
V příkladu jsou provedeny testy dvou proměnných, ale pouze v jedné je uveden odkaz na objekt. Hodnoty, které jsou výsledkem testování, jsou uvedeny v komentářích uvnitř příkladu.
IsNull
Funkce IsNull vrací True v případě, že proměnná neobsahuje Null nebo platná data.
Syntaxe:
|
Příklad:
|
IsEmpty
Funkce IsEmpty vrací True v případě, že proměnná byla inicializována (byla do ní vložena nějaká hodnota).
Syntaxe:
|
Příklad:
|
Pozor na záměnu Null a Empty. Pokud do proměnné vložíte Null proměnná je inicializována a funkce IsEmty vrací False. Rovněž je třeba si uvědomit, že řetězec nulové délky není totéž co Null. Null znamená to, že v proměnné jsou neplatná data, řetězec o nulové délce naopak platná data obsahuje.
Abych dokončil výčet funkcí musím se zmínit o funkcích VarType a TypeName, které poskytují naprosto vyčerpávající informace o obsahu proměnné, ale o tom až někdy příště.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
inPage AI: Revoluční nástroj pro tvorbu webů
3. července 2024 -
ZONER Webmail jako první v Česku přináší BIMI s VMC
11. července 2024 -
Regulace digitálních služeb: Co přináší nové nařízení DSA?
20. února 2024 -
Nejlevnější VPS: To je nový Cloud Server Mini od ZonerCloud
4. června 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024