Avatar ·

Error TS2322: "could be instantiated with a different subtype of constraint 'object'" — ¿cómo solucionarlo?

¡Hola! Soy nuevo en TypeScript y me encontré con un error extraño al usar genéricos. Tengo una función simple que debe aceptar un objeto y devolver sus claves. Quiero que la función funcione con cualquier objeto, pero que mantenga el tipo de retorno como un array de claves de ese objeto. Aquí está mi código: ```typescript function getKeys(obj: T): (keyof T)[] { return Object.keys(obj) as (keyof T)[]; } function processObject(data: T) { // Aquí quiero pasar data a otra función const handler = (input: U): void => { const keys = getKeys(input); console.log(keys); }; handler(data); // ERROR aquí! } ``` TypeScript muestra el error: `Argument of type 'T' is not assignable to parameter of type 'U'. 'U' could be instantiated with a different subtype of constraint 'object'.` No entiendo por qué ocurre esto. Tanto T como U están restringidos al tipo `object`. ¿Por qué TypeScript...