Type guards & assertion functions, ou la preuve qui traverse une fonctionType guards & assertion functions, or the proof that crosses a function
Sortir un test dans une fonction, et le narrowing disparaît : un boolean ne dit pas QUOI on a prouvé. Le prédicat x is Foo le fait voyager — mais le compilateur ne vérifie jamais que le corps tient la promesse. Un guard qui ment compile. C'est un as déguisé, en pire.Extract a test into a function, and narrowing vanishes: a boolean doesn't say WHAT you proved. The x is Foo predicate carries it across — but the compiler never checks the body keeps the promise. A lying guard compiles. It's an as in disguise, but worse.
AudienceAudience
Dev qui maîtrise le narrowing et veut l'emballer dans des fonctionsDev fluent in narrowing who wants to wrap it into functions
Format
Self-paced
ChapitresChapters
5
Date
Juin 2026Jun 2026
≈ 18 min●●○○Type guardAssertionTradeoff
🔒
La suite est réservéeThe rest is members-only
Le premier numéro est libre. Débloque tout The TypeScript Loop —
tous les volumes, à vie — pour 5 €, paiement unique.
The first issue is free. Unlock all of The TypeScript Loop —
every volume, forever — for €5, one-time.