在TypeScript中,有没有办法键入以下fn函数,以便TypeScript仍然知道result的类型是'hello' const hello = 'hello' // hello is of type'hello'
const result = fn(hello) // result is of type unknown 对于泛型,可以
我有一个具有单个泛型T的类,有时它可以用一个值来构造,所以T是已知的,有时是没有值的,所以T是unknown。如果没有给出可以推断类型的值,那么就必须指定类型,这是很繁琐的。const fn3 = ():Foo<number> => new Foo(); //No error, is inferred as being Foo<number>
是否有什么是我遗漏的,允许重新评估泛型类型为非unknown类型</e
我偶然发现了TypeScript类型的问题,当有条件的泛型出现时,我不能将更窄的类型分配给更广泛的类型。但是,所有泛型参数都是完全实例化的,因此TypeScript应该能够完全解析这两种类型,并根据每个属性的类型对它们进行比较。这是我试图做的抛出错误的简化版本:
// Returns keyes that have type extending