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
-
4 tipy, jak na efektivní úsporu při rozjezdu podnikání
3. ledna 2023 -
Proč je důležité tvořit obsah na váš web?
29. srpna 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024