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