我是一名C#程序员,刚开始接触TypeScript,并且在特殊的泛型实现方面遇到了困难。
以下是我的代码:
以下是我的代码:
function createValue<TValue extends string | boolean>(): TValue[]
{
let result = new Array<TValue>();
if (typeof TValue === "string") // error 'TValue' only refers to a type, but is being used as a value here
{
result[0] = "abc" as TValue;
}
else
{
result[0] = false as TValue;
}
return result;
}
console.log(createValue<boolean>());
我如何获取类型?
我已经尝试了非常丑陋的解决方案来创建一个值,但它也没有像预期的那样表现。
let value : TValue = new Array<TValue>(1)[0];
let type = typeof value; // undefined
对象类型有多种解决方案,但对于原始类型我还不清楚。
您能帮我吗?
谢谢。