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- ն բացահայտորեն թույլատրված է:
Դարտի տիպավորման համակարգը ապահովում է կայունություն՝ ստատիկ տիպավորված լեզուների անվտանգությունն ու դինամիկ տիպավորված լեզուների ճկունությունը։