Typedefs en 1 minute

Jeudi 19/12/24
170 Mots
1 Minutes

Un alias est raccourci donné à un type de données ou une structure existante, ce qui permet de simplifier le code et sa lecture en créant des références.

dart
// Un type complexe, long à ecrire, chiant à lire
Map<String, List<Map<String, dynamic>>> userData;

// On créé un alias pour le type
typedef UserData = Map<String, List<Map<String, dynamic>>>;

// Utilisation
UserData userData;

// On passe donc de ça
void doSomething(Map<String, List<Map<String, dynamic>>> userData) {}

// A ça, mieux non ?
void doSomething(UserData data) {}

Il est possible aussi d’utiliser typedef pour des fonctions/callback, ce sont alors des signatures et non des alias.

dart
// Déclaration
typedef Comparator<T> = int Function(T a, T b);

// Utilisation
Comparator<int> compareNums = (a, b) => a - b;

On retrouve cette fonctionnalité de langage chez plusieurs langages :

comme Swift pour iOS avec 'typealias' et Kotlin pour Android avec 'typealias'. Ces deux langages utilisent massivement cette fonctionnalité pour simplifier la lecture du code et créer des abstractions plus claires dans le développement d'applications mobiles.

En savoir plus avec la documentation officielle : https://dart.dev/language/typedefs