Necesito intentar pasar el tipo genérico a una clase en TypeScript.
Vea mi ejemplo a continuación, inicializo mi clase con el tipo 'hello' | 'goodbye'
Luego quiero crear una función con el parámetro del tipo pasado a la clase original.
es posible?
class MyTestClass<T> { doSomething = (myType: T, count: number) => { // ... } } const myTest = new MyTestClass<'hello' | 'goodbye'>() const myNewMethod = (subType: typeof myTest) => { // I want subType to be 'hello' | 'goodbye' }Puede usar tipos condicionales con la palabra clave infer para extraer la U de MyTestClass<U>
type subType = typeof mytest extends MyTestClass<infer U> ? U : never; Aquí, si myTest es algún tipo de MyTestClass<X> , entonces subType será X , de lo contrario, never lo será (lo que nunca sucederá ya que myTest es explícitamente MyTestClass .