ts-expect-error vs ts-ignore

TypeScript 🟡 Mid

Definition

@ts-expect-error supprime l'erreur suivante mais echoue si aucune erreur n'existe. @ts-ignore supprime silencieusement toute erreur. Preferer expect-error.

Analogie

ts-expect-error: un parapluie qu'on range s'il ne pleut pas. ts-ignore: un mur anti-bruit permanent, meme en silence.

Exemple de code

// @ts-expect-error: test avec mauvais type intentionnel
const result = fn("wrong");

// @ts-ignore: supprime toute erreur (dangereux)
const risky = badCode();

Cas d'usage

Tests ou le but est de verifier le comportement avec des types invalides — expect-error est preferable.

Anti-pattern

Utiliser ts-ignore pour faire compiler du code — masque les vrais bugs et empeche la detection de regressions.

Termes lies

#best-practice#tooling