Avatar ·

Erreur TS2322 : "could be instantiated with a different subtype of constraint 'object'" — comment corriger ?

Bonjour ! Je suis débutant en TypeScript et j'ai rencontré une erreur étrange en utilisant les generics. J'ai une fonction simple qui doit prendre un objet et retourner ses clés. Je veux que la fonction fonctionne avec n'importe quel objet, tout en conservant le type de retour comme un tableau des clés de cet objet. Voici mon code : ```typescript function getKeys(obj: T): (keyof T)[] { return Object.keys(obj) as (keyof T)[]; } function processObject(data: T) { // Ici je veux passer data à une autre fonction const handler = (input: U): void => { const keys = getKeys(input); console.log(keys); }; handler(data); // ERREUR ici ! } ``` TypeScript donne l'erreur : `Argument of type 'T' is not assignable to parameter of type 'U'. 'U' could be instantiated with a different subtype of constraint 'object'.` Je ne comprends pas pourquoi cela se produit. Pourtant, T et U sont tous deux contraints par le type `object`. Pourquoi TypeScript...