logo oujood
🔍

🧪 Les types spéciaux : any, unknown, never, void

Ce chapitre clôt notre premier module en abordant des types très particuliers mais importants dans TypeScript. Chacun d’eux a un usage bien défini, et comprendre leurs différences t’aidera à écrire du code plus sûr et plus clair.

OUJOOD.COM

🧨 1. Le type any : à utiliser avec précaution

📋 Copier le code

let valeur: any = "bonjour";
valeur = 42;
valeur = true;
  • any permet à la variable d’accepter n’importe quel type.
  • Très flexible mais dangereux : TypeScript désactive toute vérification sur cette variable.
  • À éviter dans du code sérieux, sauf cas très particulier (interopérabilité JS, données externes incertaines).

🧐 2. Le type unknown : plus sûr que any

📋 Copier le code

let reponse: unknown = "OK";

if (typeof reponse === "string") {
  console.log(reponse.toUpperCase());
}
  • unknown accepte aussi n’importe quelle valeur...
  • ...mais oblige à vérifier le type avant de l’utiliser (plus sécurisé).
  • Idéal pour des données externes (ex : JSON d’API, saisies utilisateur).

🚫 3. Le type never : fonction qui ne retourne jamais

📋 Copier le code

function erreurFatale(message: string): never {
  throw new Error(message);
}
  • never signifie que la fonction ne se termine jamais normalement (elle lance une erreur ou boucle infinie).
  • Utile pour signaler une exception ou un cas impossible.

🔇 4. Le type void : aucune valeur de retour

📋 Copier le code

function direBonjour(): void {
  console.log("Bonjour !");
}
  • void signifie que la fonction ne retourne rien (elle effectue une action, comme un affichage).
  • On le retrouve souvent dans les callbacks et les événements.

📌 Comparatif rapide

Type Description Sécurité Utilisation recommandée
any Peut contenir n’importe quoi ❌ Très risqué Interopérabilité, tests rapides
unknown Peut contenir tout, mais doit être vérifié ✅ Sûr Réceptions de données incertaines
never Ne retourne jamais ✅ Logique stricte Fonctions qui plantent, cas impossibles
void Ne retourne rien ✅ Simple Fonctions d’affichage ou d’action

📌 Résumé

  • any : à éviter sauf exception
  • unknown : plus sûr, impose une vérification
  • never : pour fonctions qui ne retournent jamais
  • void : pour fonctions qui ne retournent rien

Bravo ! Tu viens de terminer le premier module qui contient les 10 chapitres précédents. Ce qui a permis que tu maîtrises maintenant tous les types de base et intermédiaires de TypeScript.

Souhaites-tu passer au Module 2 – Programmation orientée objet avec TypeScript, Chapitre 1 : Classes et constructeurs ?