Un atelier TypeScript · Édition d'ApprentissageA TypeScript Workshop · Learning Edition

Contraintes (extends) & valeurs par défaut, ou de quelle capacité ai-je besoin ? Constraints (extends) & defaults, or which capability do I need?

Sur un <T> libre, .length ne compile pas — et c'est correct : on ignore tout de ses capacités. La liberté de T est une impuissance. T extends { length: number } le borne à exactement la forme dont le corps se sert, débloque cette capacité, et garde le type exact à la sortie. keyof et T[K] relient clés et valeurs. Tout l'art : contraindre juste assez, ni any déguisé, ni carcan. On a free <T>, .length won't compile — and that's correct: you know nothing of its capabilities. The freedom of T is a powerlessness. T extends { length: number } bounds it to exactly the shape the body uses, unlocks that capability, and keeps the exact type at the output. keyof and T[K] relate keys and values. The whole art: constrain just enough, neither any in disguise nor a straitjacket.

AudienceAudience
Dev qui sait faire voyager un type et veut s'en servir sans retomber dans any Dev who can make a type travel and wants to use it without falling back to any
Format
Self-paced
ChapitresChapters
5
Date
Juin 2026 Jun 2026
≈ 18 min ●●●○ ContrainteskeyofTradeoff
🔒

La suite est réservée The 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.

Retour au kiosqueBack to newsstand