在typescript中有没有办法声明一个返回当前实例类型的方法?使得调用 new DogBuilder().withColor() 返回类型为DogBuilder而不是AnimalBuilder。在objective-c中,这样的东西叫做instancetype。我在TypeScript中查看了InstanceType<T>,但不知道它是不是在说同样的事情。这将允许在超类和子类上以任何顺序链接构建器方法,例如: new DogBuilder().withC
我试图保留通过索引签名声明其类型的对象的属性。下面的最小示例(代码片段没有做任何有用的事情,也不受问题的影响,我希望对这些类型使用映射类型,但也保留对主体的编译器支持,例如,一个接受indexWithType的函数,并在保存其键的同时输出映射类型)我理解为什么会发生这种情况,使用类型,类型解析为IndexSignature,并丢弃特定的子类型。
我如何说服打字本用下限代替?But I want one, ty
为什么在泛型上使用InstanceType是错误的?是协变的还是逆变的? new(): Instance; print(): void; // Error: Type 'Instance' is not assignable to Type 'InstanceType<T>'
const ins: InstanceType<T> = new cto