Skip to content

Chemins & optionnalité ​

Un chemin lit une valeur dans l'entrée : user.address.city. L'entrée étant typée, chaque segment est validé à la compilation — une faute de frappe est une erreur de compilation, pas un undefined silencieux.

OpérateurEffet
.lire une valeur dans l'entrée
?.requis pour les segments optionnels ou nullables
??fournir un repli pour null/undefined, supprime l'optionnalité

. : lire une valeur dans l'entrée ​

Chaque segment est validé — une faute de frappe est TF2002 avec une suggestion « vouliez-vous dire », pas un undefined silencieux.

typeflow
city: user.address.city

?. : requis pour les segments optionnels ou nullables ​

Si un segment peut être absent (contact?:) ou nullable, l'accès simple par . est refusé (TF2003). Sans valeur par défaut, une valeur possiblement undefined devient un champ optionnel du type de sortie — le champ est simplement absent du JSON de sortie quand sa valeur est undefined.

typeflow
email: user.contact?.email

?? : fournir un repli pour null/undefined, supprime l'optionnalité ​

Le compilateur signale aussi l'erreur inverse : utiliser ?? sur une valeur jamais nullish est l'avertissement TF2013 — du code mort.

typeflow
email: user.contact?.email ?? "unknown"

Playground ​

Mapping✔Playground ↗
JSON d'entrée
Sortie
{
  "name": "Ada",
  "email": "unknown"
}
type inféré{ name: string; email: string }

Suite : Arithmétique & chaînes.

Publié sous licence MIT.