Le typage
La manière dont un langage gère les types : quand il les vérifie, comment il juge la compatibilité, à quel point il est strict. Ce chapitre regroupe statique/dynamique, structurel/nominal et le duck typing.
Le typage
Un type, c'est la nature d'une donnée : un nombre, un texte, un booléen, une date. Le typage, c'est la manière dont un langage gère ces types : quand il les vérifie, comment il décide que deux types sont compatibles, à quel point il est strict.
Ce chapitre creuse les grandes distinctions : statique vs dynamique (quand les types sont vérifiés), structurel vs nominal (comment on juge la compatibilité), et le duck typing (juger sur la forme, pas sur le nom).
Le typage est l'une des différences les plus marquantes entre langages : C# est strict et vérifie tôt, JavaScript est souple et vérifie tard. Choisis une note ci-dessous pour approfondir.
Pour aller plus loin
Typage statique vs dynamique
La grande question du typage : les types sont-ils vérifiés avant l'exécution (statique) ou pendant (dynamique) ? La différence entre C#/TypeScript et JavaScript, et pourquoi il ne faut pas confondre avec « fort » et « faible ».
Typage structurel vs nominal
Comment un langage décide si deux types sont compatibles : par leur forme (structurel, comme TypeScript) ou par leur nom déclaré (nominal, comme C# ou Java). Une différence subtile aux grosses conséquences.
Le duck typing
« Si ça marche comme un canard et que ça cancane comme un canard, c'est un canard » : le principe qui consiste à juger un objet sur ce qu'il sait faire, pas sur son type déclaré. Et son lien direct avec le typage structurel.