Sobes.tech
Junior

Системаи навъи дар забони Dart чист?

sobes.tech AI

Ҷавоб аз AI

Системаи типгузории дар Dart қувватманд, статик ва имкон медиҳад, ки навъи динамикӣ муайян карда шавад.

Масоили асосӣ:

  • Типи статикӣ: Навъҳои тағйирёбандаҳо дар вақти компилятсия санҷида мешаванд. Ин кӯмак мекунад, ки хатоҳо пеш аз иҷрои барнома ошкор шаванд.
    // Нуқтаи намунаи типи статикӣ
    int синну сол = 30;
    // синну сол = "сиёҳ"; // Хатои компилятсия
    
  • Инференсияи навъҳо: Компилятор метавонад ба таври худкор навъи тағйирёбандаро дар асоси арзиши таъиншуда муайян кунад.
    // Намунаи инференсияи навъ
    var ном = "Alice"; // Компилятор муайян мекунад, ки String аст
    
  • Навъи динамикӣ (dynamic): Имкон медиҳад, ки тағйирёбанда арзишҳои ҳар навъро нигоҳ дорад. Санҷиши навъҳо дар вақти иҷро анҷом дода мешавад. истифодаи dynamic бояд кам карда шавад.
    // Намунаи навъи динамикӣ
    dynamic арзиш = 10;
    арзиш = "салом";
    
  • Бехатарии Null (Null Safety): Барои пешгирии хатоҳои вобаста ба арзишҳои null ворид шудааст. Тағйирёбандаҳо дар асоси пешфарз наметавонанд null бошанд, агар ба таври равшан ҳамчун nullable (?) нишон дода нашаванд.
    // Намунаи null safety
    String неNull = "на null";
    // неNull = null; // Хатои компилятсия
    
    String? nullable = null; // Имкон дорад null бошад
    
  • Null Safety қатъӣ: Мӯътадил мекунад, ки амалҳо бо навъҳои на-null ба истиснои он, ки nullability ба таври равшан иҷозат дода шудааст, ба NullPointerException оварда намерасонанд.

Системаи типизатсия дар Dart мувозинатро байни бехатарии забонҳои статикӣ ва чандирии забонҳои динамикӣ таъмин мекунад.