typescript - Asignación dentro del parámetro genérico <T, Keys extends keyof T=keyof T>
Habiendo encontrado el siguiente código:
type RequireOnlyOne<T, Keys extends keyof T = keyof T>
Sería muy apreciado si alguien pudiera explicar qué es keyof T=keyof T?
Respuesta #1
Significa que la función toma un parámetro de tipo obligatorio T y un parámetro de tipo opcional Keys que se extiende al subconjunto de los índices de T y por defecto es esos índices.
La asignación es el valor predeterminado para ese segundo parámetro de tipo opcional.
Para decirlo de manera un poco diferente, ese segundo parámetro de tipo dice "Tomo un tipo que es la extensión de las claves de T, y si no pasas un parámetro de tipo explícito, entonces por defecto son solo las claves de T".