typeof , také známý jako typeOf , a TypeOf je operátor poskytovaný některými programovacími jazyky k určení datového typu proměnné. To je užitečné pro psaní programů, které musí přijímat více datových typů, aniž by specifikovaly samotný typ.
V jazycích, které podporují polymorfismus a konverzi typů , může mít dvě implementace. V některých jazycích, jako je Visual Basic [1] , vrací operátor typeof dynamický typ objektu. V takových jazycích přijímá tento příkaz informace za běhu .
V jiných jazycích, jako je C# [2] nebo D [3] a do určité míry v C (jako součást nestandardního rozšíření), [4] [5] vrací operátor typeof statický typ operandu. Tyto jazyky mohou mít jiné operátory pro získávání informací za běhu , například typeid .
V nestandardním (GNU) rozšíření programovacího jazyka C lze typeof použít k definování makra max:
# define max(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); _a > _b ? _a : _b; })V C# :
// Vrátí, zda je objekt celočíselný public static bool IsInteger ( object o ) { return ( o . GetType () == typeof ( int ) ); }V JavaScriptu :
function isNumber ( n ) { return ( typeof n === 'číslo' ); }V TypeScriptu : [6]
function ( param : typeof existujiciObject ) { ... } let newObject : typeof existujícíObject ;