Pokud opravdu v dynamciky typovaném jazyku potřebujete znát typ konkrétní proměnné:
typeOf(v)
function typeOf( obj ) { return {} .toString .call( obj ) .split( ' ' )[ 1 ] .slice( 0, -1 ) .toLowerCase(); }
Test
const values = [ true, 10, 'foo', Symbol( 'bar' ), null, undefined, NaN, {}, [], function () { }, new Error(), new Date(), /a/, new Map(), new Set(), Promise.resolve(), function* () { }, class { }, ] for ( let value of values ) { console.log( typeOf( value ) ); }
Výsledek
boolean number string symbol null undefined number object array function error date regexp map set promise generatorfunction function