Dynamické typování je technika používaná v programovacích jazycích a specifikačních jazycích , ve kterých je proměnná spojena s typem v době , kdy je přiřazena hodnota , a nikoli v době, kdy je proměnná deklarována. V různých částech programu tedy může stejná proměnná nabývat hodnot různých typů . Příklady dynamicky typovaných jazyků jsou Smalltalk , Python , Objective-C , Ruby , PHP , Perl , JavaScript , Lisp .
Dynamické psaní usnadňuje psaní programů pro práci s měnícím se prostředím při práci s daty proměnných typů; nedostatek informací o typu ve fázi kompilace však zvyšuje pravděpodobnost chyb ve spustitelných modulech.
V některých jazycích se slabým dynamickým typováním je problém s porovnáváním hodnot, například PHP má porovnávací operátory " ==", " !=" a " ===", " !==", kde druhá dvojice operací porovnává hodnoty i typy proměnných. Operace "===" se vyhodnotí jako true pouze v případě, že se zcela shoduje, na rozdíl od "==", která takový výraz považuje za pravdivý: ( 1=="1"), tento problém však není s dynamickým psaním obecně, ale s konkrétními programovacími jazyky. .
Je to klíčový nástroj pro implementaci dynamických programovacích jazyků . Opačnou technikou je statické psaní .