Sobes.tech
Junior

Ի՞նչ է Dart լեզվի տիպավորման համակարգը։

sobes.tech AI

Պատասխան AI-ից

Դարտի տիպավորման համակարգը ուժեղ է, ստատիկ և թույլ է տալիս դինամիկ տիպի որոշում:

Հիմնական գաղափարներ՝

  • Ստատիկ տիպավորում: Փոփոխականների տիպերը ստուգվում են կոմպիլացիայի ժամանակ: Սա օգնում է հայտնաբերել սխալները նախքան ծրագրի գործարկումը:
    // Ստատիկ տիպավորման օրինակ
    int տարի = 30;
    // տարի = "երեսուն"; // Կոմպիլացիայի սխալ
    
  • Տիպերի ինֆերենցիա: Կոմպիլատորը կարող է ինքնաբերաբար որոշել փոփոխականի տիպը նշանակված արժեքի հիման վրա:
    // Տիպերի ինֆերենցիայի օրինակ
    var անուն = "Alice"; // Կոմպիլատորը կհայտարարի, որ դա String է
    
  • Դինամիկ տիպ (dynamic): Թույլ է տալիս փոփոխականին պահել ցանկացած տիպի արժեք: Տիպերի ստուգումը կատարվում է գործարկման ժամանակ: Խորհուրդ է տրվում նվազեցնել dynamic-ի օգտագործումը:
    // Դինամիկ տիպի օրինակ
    dynamic արժեք = 10;
    արժեք = "բարև";
    
  • Null անվտանգության (Null Safety): Ներարկվել է սխալների կանխարգելման համար, կապված null արժեքների հետ: Փոփոխականները ըստ նախնական կարգի չեն կարող լինել null, եթե բացահայտորեն նշված չեն nullable (?):
    // Null անվտանգության օրինակ
    String ոչNull = "ոչ null";
    // ոչNull = null; // Կոմպիլացիայի սխալ
    
    String? nullable = null; // Միջնորդական կարող է լինել null
    
  • Կոշտ Null անվտանգության: Համոզված է, որ ոչ-null տիպերով կատարվող գործողությունները չեն հանգեցնի NullPointerException արտահայտության, եթե միայն nullability- ն բացահայտորեն թույլատրված է:

Դարտի տիպավորման համակարգը ապահովում է կայունություն՝ ստատիկ տիպավորված լեզուների անվտանգությունն ու դինամիկ տիպավորված լեզուների ճկունությունը։