Uživatelské nástroje

Nástroje pro tento web


it_encyklopedie:datovy_typ

Dynamické typování

Dynamické typování (Dynamic Typing) je vlastnost programovacího jazyka, při které jsou datové typy proměnných kontrolovány a přiřazovány až během běhu programu (runtime), a nikoliv předem při kompilaci. V dynamicky typovaném jazyce proměnná sama o sobě nemá pevně daný typ – typ nese aktuální hodnota, kterou je proměnná právě naplněna.


Jak dynamické typování funguje?

V praxi to znamená, že do jedné proměnné můžete v průběhu běhu programu uložit nejdříve celé číslo, pak textový řetězec a nakonec třeba pole, aniž byste museli typ explicitně deklarovat.

# Příklad v Pythonu
cislo = 42          # Proměnná je nyní typu integer
cislo = "Ahoj světa"  # Změna hodnoty na řetězec (string) projde bez chyby
Vlastnost Dynamické typování Statické typování
Určení typu Za běhu programu (runtime) podle přiřazené hodnoty. Předem při kompilaci (explicitní deklarace).
Flexibilita Vysoká, proměnné mohou měnit svůj typ za chodu. Nízká, typ proměnné je pevně dán a neměnný.
Odhalení chyb Až při spuštění programu (když nastane neplatná operace). Již při psaní kódu nebo během kompilace.

Výhody a nevýhody dynamického typování

* Výhody: * Rychlejší vývoj a menší množství kódu: Nemusíte složitě definovat datové struktury a typy předem, což zrychluje prototypování. * Větší flexibilita: Snadnější manipulace s daty, která mění svou strukturu za běhu (např. JSON odpovědi z API). * Nevýhody: * Pozdní odhalení chyb: Chybu typu (např. sčítání textu a čísla) odhalí interpreter až ve chvíli, kdy k danému řádku kódu za běhu skutečně dojde. * Horší nástroje (Tooling): Vývojová prostředí (IDE) mají horší možnost našeptávání kódu (autocomplete) a refaktoringu, protože přesně nevědí, jaký typ bude v proměnné uložen.


Kde se dynamické typování používá?

Dynamické typování je typické pro skriptovací jazyky a technologie často používané ve webovém vývoji a analýze dat:

Jazyk Popis
Python Univerzální jazyk, kde proměnné vznikají prostým přiřazením hodnoty.
JavaScript Základní jazyk pro webové prohlížeče (dynamický, slabě typovaný).
PHP Serverový jazyk pro tvorbu webových stránek a redakčních systémů.
Ruby Objektově orientovaný jazyk známý svou flexibilitou.

Tip: Pojem „dynamické typování“ se často zaměňuje se „slabým typováním“ (Weak Typing). Ačkoliv spolu úzce souvisí, dynamické určuje kdy se typ kontroluje (za běhu), zatímco slabé určuje, jak moc je jazyk přísný při automatickém převodu typů (např. sčítání čísla a textu).
it_encyklopedie/datovy_typ.txt · Poslední úprava: autor: admin