La sûreté vis-à-vis de null (null safety) fait qu'un type n'accepte pas null sauf s'il est suivi de ?. Les opérateurs ?. et ?? traitent l'absence de valeur, et ! force la valeur mais plante si elle est nulle ; il est donc à réserver aux cas certains. Cela évite de nombreuses erreurs à l'exécution.
Exemple
String? surnom;
print(surnom?.length ?? 0);