Arithmétique & chaînes
Les opérateurs arithmétiques travaillent sur les nombres, avec la précédence habituelle (utiliser des parenthèses pour grouper). + concatène aussi les chaînes — mais ne mélange jamais les deux : string + number est une erreur de compilation (TF2004), pas une coercition silencieuse.
| Opérateur | Effet |
|---|---|
+ | additionner des nombres, ou concaténer des chaînes |
- | soustraire des nombres |
* | multiplier des nombres |
/ | diviser des nombres |
% | reste de la division |
+ : additionner des nombres, ou concaténer des chaînes
Entre deux nombres, additionne. Entre deux chaînes, concatène. Mélanger une chaîne et un nombre est TF2004 — convertir explicitement avec string(...) d'abord.
typeflow
total: item.price + item.tax
fullName: user.firstName + " " + user.lastName- : soustraire des nombres
typeflow
remaining: order.total - order.paid* : multiplier des nombres
typeflow
subtotal: item.price * item.quantity/ : diviser des nombres
typeflow
unitPrice: item.subtotal / item.quantity% : reste de la division
typeflow
isEvenQty: item.quantity % 2 == 0Playground
{ "subtotal": 59.699999999999996, "tax": 11.94, "total": 71.63999999999999, "isEvenQty": false }
type inféré
{
subtotal: number;
tax: number;
total: number;
isEvenQty: boolean;
}Cet exemple est volontairement cassé — + ne fait jamais de coercition :
typeflow
input order: { id: number }
map {
label: "Order #" + order.id,
}Le formatage de types mixtes passe par une conversion explicite — "Order #" + string(order.id) — ou reste dans le langage hôte.
Suite : Comparaisons.