我写了一个小函数,以便更好地处理类型.
function evaluate(variable: any, type: string): any {
switch (type)
{
case 'string': return String(variable);
case 'number': return isNumber(variable) ? Number(variable) : -1;
case 'boolean': {
if (typeof variable === 'boolean')
return variable;
if (typeof variable === 'string')
return (<string>variable).toLowerCase() === 'true';
if (typeof variable === 'number')
return variable !== 0;
return false;
}
default: return null;
}
}
function isNumber(n: any): boolean {
return !isNaN(parseFloat(n)) && isFinite(n);
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用泛型,但不知道如何从泛型参数获取类型.这是可能的?
这是我的函数的定义:
getData<T extends Entity> () { }
Run Code Online (Sandbox Code Playgroud)
我目前不接受任何论点.有没有办法让我在运行时将T转换为该类型的字符串名称?也许使用typeof?
我来自C#世界,你会使用反射.但是,我是Javascript的新手,不知道等效的是什么.
谢谢.