Dart Academy · Leçon

Les types dynamic et Object

Comprendre les types les plus généraux de Dart et leurs usages

Leçon 4 sur 413 étapes

Les types dynamic et Object est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Dart possède aussi des types généraux

Vous avez parfois besoin d’une variable capable de contenir n’importe quelle valeur. Dart propose deux types généraux de ce genre : Object et dynamic.

Object contient tout en sécurité

Object peut stocker toute valeur non nulle, mais Dart vérifie toujours chaque appel de méthode par rapport au type Object.

Object thing = 42;
thing = "now text";

Object limite les méthodes

Avec Object, vous ne disposez que des méthodes communes à toutes les valeurs, comme toString. Vous devez effectuer une conversion avant d’utiliser un comportement propre au type.

Object o = "hi";
// o.toUpperCase(); // error

dynamic désactive les vérifications

Une variable dynamic peut également contenir n’importe quelle valeur, mais elle désactive les vérifications à la compilation. Les erreurs n’apparaissent qu’à l’exécution.

dynamic d = "hi";
d.toUpperCase(); // allowed

dynamic peut provoquer une erreur tardive

Comme les vérifications sont désactivées, un appel incorrect sur une valeur dynamic est accepté à la compilation, mais peut provoquer une erreur pendant l’exécution. Cette facilité a un coût.

dynamic d = 5;
d.toUpperCase(); // runtime error

Object est plus sûr que dynamic

Préférez Object lorsque vous avez réellement besoin d’accepter n’importe quelle valeur. Vous conservez la sécurité des types et laissez le compilateur contrôler vos appels.

La question de Object et Object

Object sans modification exclut null. Si une valeur peut être nulle, utilisez la forme nullable de Object afin d’autoriser également null.

Object? maybe = null;

Revenir à un type

Récupérez le type réel d’un Object avec la conversion as, puis appelez ses méthodes en rétablissant toutes les vérifications.

Object o = "hi";
var up = (o as String).toUpperCase();

Pourquoi dynamic existe toujours

dynamic est utile lorsque vous interagissez avec des données non typées, comme un JSON à structure souple dont la forme est inconnue à l’avance.

Évitez dynamic par défaut

Recourir à dynamic masque souvent les bogues jusqu’à ce que les utilisateurs les rencontrent. Utilisez des types précis ou Object, sauf si vous en avez réellement besoin.

Choisir entre les deux

Besoin d’accepter n’importe quelle valeur tout en restant en sécurité ? Choisissez Object. Besoin de contourner les vérifications pour des données désordonnées ? Utilisez dynamic, avec parcimonie et à bon escient.

Vérification rapide

Quelle est la différence essentielle entre Object et dynamic ?

Récapitulatif : dynamic et Object

Vous avez appris que Object peut tout contenir en conservant la sécurité, tandis que dynamic peut tout contenir sans effectuer les vérifications. Préférez Object ou des types précis. 🛡️

Gratuit pour commencer

Apprends Dart avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Les types dynamic et Object » est-elle gratuite ?

Oui — le texte complet de « Les types dynamic et Object » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Les types dynamic et Object » ?

Comprendre les types les plus généraux de Dart et leurs usages Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Les types dynamic et Object » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. var, final et const expliqués
  2. Les types fondamentaux : int, double, String, bool
  3. Inférence de type ou types explicites
  4. Les types dynamic et Object
← Retour à Dart Academy