Avatar ·

Pourquoi le mot-clé `declare` est-il nécessaire en TypeScript ? Expliquez avec des exemples

Bonjour à tous ! J'ai commencé à étudier TypeScript et je suis tombé sur le mot-clé `declare`. Dans la documentation officielle, il est dit qu'il est utilisé pour "déclarer des variables, fonctions et classes qui existent ailleurs". Mais je ne comprends pas bien à quoi cela sert et comment cela fonctionne en pratique. Par exemple, j'écris un script simple qui utilise la variable globale `$` (jQuery). Je sais qu'elle est incluse via CDN dans le HTML, mais TypeScript se plaint que `$` n'est pas défini. J'ai essayé d'écrire : ```typescript declare var $: any; ``` Et l'erreur a disparu. Mais pourquoi ne puis-je pas simplement écrire `var $: any;` ? Quelle est la différence ? Si j'écris `let $: any;`, cela fonctionne aussi, mais TypeScript considérera alors que je crée une nouvelle variable, au lieu de décrire une variable existante. J'ai aussi vu que `declare` est utilisé dans les fichiers `.d.ts`. Pourquoi sont-ils nécessaires, si on peut simplement tout écrire dans des fichiers `.ts` normaux ? Expliquez, s'il vous plaît, en termes simples, à quoi sert exactement `declare` et dans quels cas l'utiliser.