Avatar ·

unknown vs any : quelle est la différence et quand utiliser quoi en TypeScript ?

Bonjour ! J'ai récemment commencé à apprendre TypeScript et j'ai rencontré les types `any` et `unknown`. Apparemment, les deux permettent de stocker n'importe quoi, mais je ne comprends pas bien la différence entre eux et quand utiliser lequel. Voici un exemple qui me trouble. J'ai une fonction qui reçoit des données d'une API, et je ne sais pas exactement ce qui va arriver : ```typescript function processData(data: any) { console.log(data.toUpperCase()); // Fonctionne, mais si data n'est pas une chaîne - plante à l'exécution } ``` Si je remplace `any` par `unknown` : ```typescript function processData(data: unknown) { console.log(data.toUpperCase()); // Erreur de compilation : Object is of type 'unknown' } ``` Il s'avère qu'avec `unknown`, le code ne compile même pas. À quoi sert alors `unknown` s'il ne fait que gêner ? J'ai entendu dire que `unknown` est considéré comme plus sûr, mais en pratique, je ne vois pas d'avantages, seulement des problèmes supplémentaires. Je ne comprends pas non plus comment travailler correctement avec `unknown`. Si je reçois des données d'une API, je dois quand même...