0Pricing
TypeScript Academy · Leçon

Options de rigueur

Activez la rigueur pour un code plus sûr : strict, noImplicitAny, exactOptionalPropertyTypes, noUncheckedIndexedAccess.

Options de rigueur est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 3 leçons au total.

Introduction

Objectif : activez et comprenez les principales options de strictness. Ces options détectent les erreurs plus tôt et améliorent les suggestions de l’IDE.

  • strict
  • noImplicitAny
  • exactOptionalPropertyTypes
  • noUncheckedIndexedAccess

strict + noImplicitAny

strict active un ensemble de vérifications ; noImplicitAny interdit les paramètres et variables non typés qui prendraient par défaut la valeur any.

// tsconfig.json (excerpt)
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true
  }
}

// Effect demo
function sum(a, b) { // Error: implicit any
  return a + b;
}

function sumOk(a: number, b: number): number {
  return a + b;
}

exactOptionalPropertyTypes

exactOptionalPropertyTypes distingue une propriété absente d’une propriété présente mais indéfinie — ce qui est très utile pour modéliser les API.

// exactOptionalPropertyTypes: true
interface User { name?: string }

const u1: User = {};          // ok: name is absent
const u2: User = { name: undefined }; // Error when exactOptionalPropertyTypes is true

function greet(u: User) {
  if ("name" in u) {
    // name exists but could be undefined without this flag
    console.log("Hi", u.name);
  }
}

Accès indexé (tableau)

L’indexation des tableaux renvoie désormais T | undefined. Vérifiez la valeur avant de l’utiliser afin d’éviter les plantages à l’exécution.

// noUncheckedIndexedAccess: true
const xs: number[] = [1,2,3];
const maybe = xs[5]; // type: number | undefined
if (maybe !== undefined) {
  console.log(maybe.toFixed(0));
}

Accès indexé (table de correspondance)

Les objets et Record<K,V> incluent undefined dans leurs résultats d’indexation jusqu’à ce que vous ayez vérifié la présence de la valeur.

// Also affects records/maps
const byId: Record<string, { id: string }> = {};
const item = byId["x"]; // { id: string } | undefined
if (item) {
  console.log(item.id);
}

Configuration stricte

Commencez avec strict et assouplissez la configuration uniquement si nécessaire. Ces options évitent les erreurs courantes avec un minimum de bruit dans le code nouveau.

// tsconfig.json (excerpt)
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "exactOptionalPropertyTypes": true,
    "noUncheckedIndexedAccess": true
  }
}

Vérification de l’accès indexé

Vérification rapide : que modifie noUncheckedIndexedAccess ?

Récapitulatif

Récapitulatif : strict active des valeurs par défaut plus sûres ; noImplicitAny détecte les types manquants ; exactOptionalPropertyTypes modélise précisément les champs optionnels ; noUncheckedIndexedAccess impose de vérifier la présence des valeurs.

Questions Fréquemment Posées

La leçon « Options de rigueur » est-elle gratuite ?

Oui — le texte complet de « Options de rigueur » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Options de rigueur » ?

Activez la rigueur pour un code plus sûr : strict, noImplicitAny, exactOptionalPropertyTypes, noUncheckedIndexedAccess. Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Options de rigueur » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Options de rigueur
  2. Paramètres target, lib, module et JSX
  3. Références de projet (introduction)
← Retour à TypeScript Academy