À retenir
- Sert à changer la catégorie d'une donnée (ex: texte vers nombre).
- Le transtypage explicite est volontaire, l'implicite (ou coercition) est automatique.
- Attention aux pertes de précision lors du passage d'un type complexe à un type plus simple.
Le transtypage est l'opération qui consiste à convertir une donnée d'un type vers un autre, par exemple transformer un nombre en texte ou un nombre à virgule en nombre entier. On peut comparer cela à l'action de transvaser un liquide d'une bouteille ronde dans un récipient carré : le contenu reste le même, mais sa forme s'adapte au nouveau contenant pour être manipulé différemment.
Étymologie
Le terme est construit sur le préfixe latin trans- (qui exprime le passage, le changement) et le mot typage (le classement des données par nature). En anglais, on utilise le terme cast, qui signifie littéralement « mouler », illustrant l'idée de forcer une donnée dans un nouveau moule informatique.
Exemples d'usage
- Transformer la saisie d'un utilisateur dans un formulaire (qui arrive sous forme de texte
"25") en un nombre entier (25) pour pouvoir réaliser un calcul mathématique. - Convertir un nombre précis comme
19.99en un entier19pour ignorer les centimes (on parle alors de troncature). - Passer d'un type d'objet parent à un type d'objet enfant dans la programmation orientée objet.
Cas d'usage
On utilise le transtypage dans presque tous les domaines de la programmation : lors de la récupération de données depuis une base de données, lors de la réception d'informations via une API web, ou encore pour optimiser la mémoire en utilisant des types de données plus petits.
Bonnes pratiques
Il est recommandé de privilégier le transtypage explicite (clairement écrit dans le code) plutôt que de laisser le langage faire une conversion automatique (implicite), car cette dernière peut provoquer des résultats inattendus. Il faut également toujours vérifier la validité de la donnée avant la conversion pour éviter que le programme ne plante (par exemple, tenter de convertir le mot "bonjour" en nombre provoquera une erreur).
Synonymes
Antonymes
Conseil
Si vous débutez, entraînez-vous à identifier le type de vos variables avant et après une opération. Utilisez des fonctions de conversion claires comme String() ou Number() pour rendre votre code lisible et éviter les mauvaises surprises lors des calculs.
Questions fréquentes
C'est quoi la différence avec la coercition ?
Le transtypage est généralement une action volontaire du développeur (explicite), alors que la coercition est une conversion automatique effectuée par le langage de programmation (implicite) sans intervention directe.
Peut-on tout convertir en tout ?
Non, les types doivent avoir une certaine compatibilité. On ne peut pas transformer directement une image en nombre entier, par exemple.