late keyword (Dart)

  • تستخدمها لما تعرف متغير مش هيتعيّن فوري، لكن متأكد إنه هيخد قيمة قبل ما تستخدمه.
  • مثال:
    dart
    late String description;
    void setup() {
      description = "ready";
    }
    void main() {
      setup();
      print(description);
    }
    
  • late بيفضل يبقى lazy: لو المتغير من النوع late final، القيمة بتتحسب أول مرة تستخدمه، بعدها يثبت.
  • لو استخدمته بدون ما تعطيه قيمة قبل الاستخدام، Dart هيرمي LateInitializationError.
  • مفيد في الـ classes أو عندك dependent initialization (بحاجة context مش متوفر في constructor).