Typage faible

Définition, exemples et bonnes pratiques

À retenir

  • Le langage effectue des conversions automatiques (coercition).
  • Permet de mélanger différents types de données dans une expression.
  • Offre une grande flexibilité mais augmente le risque d'erreurs logiques silencieuses.

Le typage faible est une caractéristique d'un langage de programmation qui se montre très permissif lors des opérations entre des données de natures différentes. Au lieu de bloquer le programme avec une erreur, le langage tente de deviner l'intention du développeur en convertissant automatiquement les types (par exemple, transformer un chiffre en texte pour l'ajouter à une phrase).

Étymologie

Traduction directe de l'anglais weak typing. Le terme « type » désigne la catégorie d'une donnée (nombre, texte, etc.) et « faible » indique que les règles de séparation entre ces catégories ne sont pas strictement appliquées par le compilateur ou l'interpréteur.

Exemples d'usage

  • En JavaScript, écrire '10' + 5 donne '105' (le nombre 5 est converti en texte).
  • En PHP, comparer la chaîne '7' et le chiffre 7 avec == renvoie vrai.
  • En C, il est possible de manipuler des pointeurs mémoire comme s'il s'agissait de simples nombres entiers.

Cas d'usage

On retrouve souvent le typage faible dans les langages de script web. Cela permet de manipuler facilement des données provenant d'utilisateurs (formulaires) qui arrivent souvent sous forme de texte, même quand elles représentent des nombres, sans avoir à écrire des lignes de conversion systématiques.

Bonnes pratiques

Pour éviter des bugs imprévisibles, il est conseillé d'utiliser des opérateurs de comparaison stricte (comme === en JavaScript) qui vérifient à la fois la valeur et le type. Il est également préférable de convertir manuellement ses variables (casting) dès que l'on effectue des calculs critiques.

Synonymes

typage lâche typage permissif

Antonymes

typage fort

Conseil

Si vous apprenez un langage à typage faible, ne vous reposez pas sur sa 'magie' interne. Prenez toujours l'habitude de vérifier ce que contiennent vos variables, car une addition qui se transforme en concaténation de texte est une erreur classique de débutant.

Questions fréquentes

Le typage faible est-il synonyme de typage dynamique ?

Non. Le typage dynamique signifie que le type d'une variable peut changer au fil du temps. Le typage faible concerne la tolérance du langage lors d'opérations entre types différents.

Pourquoi dit-on que c'est dangereux ?

Parce que le langage peut prendre des décisions de conversion à votre place qui ne correspondent pas à ce que vous attendiez, masquant ainsi une erreur de programmation.

Peut-on rendre un langage faible plus 'fort' ?

Oui, en utilisant des outils comme TypeScript pour JavaScript, ou en activant des modes stricts dans les réglages du langage (comme en PHP).