0Pricing
Dart Academy · درس

استنتاج النوع في مقابل الأنواع الصريحة

متى تستخدم التعليقات التوضيحية ومتى تدع Dart تقرر

استنتاج النوع في مقابل الأنواع الصريحة درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

طريقتان للتصريح

يمكنكم كتابة النوع بأنفسكم أو ترك Dart يستنتجه. وفي الحالتين تحصلون في النهاية على متغير محدد النوع بشكل صارم.

الأنواع الصريحة توضّح النوع

يحدّد التصريح الصريح النوع مباشرةً. وهذا يجعل الشيفرة واضحة وتشرح نفسها لأي شخص يقرأها.

int total = 42;

استنتاج النوع يترك القرار لـ Dart

عند استخدام var، يستنتج Dart النوع من القيمة الموجودة على اليمين. وهذا يقلل الكتابة مع الحفاظ على الأمان نفسه، لأن النوع يظل ثابتًا.

var total = 42; // inferred int

الاستنتاج ليس dynamic

لا يعني النوع المستنتج أن القيود رخوة. فما يزال var يحصل على نوع محدد واحد، ويرفض الإسنادات غير المتوافقة لاحقًا.

var name = "Sam";
// name = 5; // error

متى يكون التصريح بالنوع صريحًا

حدّدوا النوع صراحةً عندما تكون القيمة وحدها غير واضحة، مثل القائمة الفارغة، حتى يعرف القراء بالضبط ما الذي تحتويه.

List<int> scores = [];

الاستنتاج يقرأ القيمة الحرفية

ينظر Dart إلى القيمة الحرفية التي كتبتموها: وجود النقطة يعني double، وغيابها يعني int. وشكل القيمة الحرفية هو الذي يحدد الاختيار.

var x = 5;   // int
var y = 5.0; // double

تُستنتج أنواع القيم المُعادة من الدوال أيضًا

عند استدعاء دالة، يستنتج var نوع المتغير تلقائيًا من نوع القيمة التي تُعيدها تلك الدالة.

var s = "hi".toUpperCase(); // String

الأنواع الصريحة تكشف الأخطاء

يتيح التصريح بنوع صريح لـ Dart اكتشاف القيمة الخاطئة فورًا، قبل تشغيل الشيفرة.

int count = "ten"; // compile error

وضوح الشيفرة في مقابل اختصارها

هناك موازنة بين الأمرين: فالأنواع الصريحة تضيف وضوحًا، بينما يحافظ الاستنتاج على قِصر الأسطر. لذلك قدّموا الوضوح في الشيفرة المشتركة.

كلاهما محدد النوع ساكنًا

أيًا كان اختياركم، فإن Dart محدد النوع ساكنًا. ويُثبَّت النوع وقت الترجمة، ولا يتغير أثناء التشغيل.

قاعدة عملية عامة

دعوا Dart يستنتج النوع عندما تكون القيمة واضحة، واكتبوا النوع عندما يضيف معنى. واهدفوا إلى شيفرة يمكن فهمها من قراءتها.

اختبار سريع

ما الذي يفعله var فعليًا بنوع المتغير؟

مراجعة: المستنتج في مقابل الصريح

رأيتم أن الأنواع الصريحة توثّق المقصود، بينما يحافظ الاستنتاج على قِصر الشيفرة. وكلاهما يظل محدد النوع ساكنًا وآمنًا. 👍

الأسئلة الشائعة

هل درس «استنتاج النوع في مقابل الأنواع الصريحة» مجاني؟

نعم — نص درس «استنتاج النوع في مقابل الأنواع الصريحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «استنتاج النوع في مقابل الأنواع الصريحة»؟

متى تستخدم التعليقات التوضيحية ومتى تدع Dart تقرر تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «استنتاج النوع في مقابل الأنواع الصريحة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. شرح var وfinal وconst
  2. الأنواع الأساسية: int وdouble وString وbool
  3. استنتاج النوع في مقابل الأنواع الصريحة
  4. نوعا dynamic وObject
← العودة إلى Dart Academy