تكرار السؤال: …
الإجابة المختصرة
final تعني أن المتغير يُسند مرة واحدة وقت التشغيل، بينما const تنشئ قيمة ثابتة وقت الترجمة.
الشرح
استخدم final عندما لا تتغير الإشارة بعد تعيينها لكن القيمة لا تُعرف إلا وقت التشغيل، مثل نتيجة طلب أو الوقت الحالي. استخدم const عندما تكون القيمة وكل مكوناتها معروفة وقت الترجمة؛ والقيم المتطابقة من const يمكن أن تشترك في نفس النسخة canonical.
مثال بالكود
final currentTime = DateTime.now();
const apiVersion = 2;
const point = Point(1, 2);أخطاء شائعة
- اعتبار final قيمة ثابتة وقت الترجمة؛ هي فقط تُسند مرة واحدة.
- استخدام const مع قيمة لا يمكن حسابها وقت الترجمة مثل DateTime.now().