Junior
რა არის Dart ენის ტიპიზაციის სისტემა?
sobes.tech AI
პასუხი AI-სგან
Dart'ta tipleniş sistemi güýçli, statik we dinamik tip kesgitlemäge mümkinçilik berýär.
Esasy düşünjeler:
- Statik tipleniş: Üýtgeýjileriň tipləri derleme wagtynda barlanýar. Bu, programmanyň işledilmezinden öň ýalňyşlyklary tapmaga kömek edýär.
// Statik tipleniş mysaly int ýaş = 30; // ýaş = "otuz"; // Derleme ýalňyşlygy - Tipleri çaklamasy (Type inference): Derleyiji, berlen baha esaslanyp, awtomatiki ýagdaýda üýtgeýjiniň tipini kesgitleýär.
// Tipleri çaklamasy mysaly var ad = "Alice"; // Derleyiji, buňyň Stringdigini çaklaýar - Dinamik tip (dynamic): Üýtgeýjä her hili baha saklamaga mümkinçilik berýär. Tipleri barlamak iş wagtynda amala aşyrylýar.
dynamiculanyşyny minimallaşdyrmak maslahat berilýär.// Dinamik tip mysaly dynamic baha = 10; baha = "salam"; - Null howpsuzlygy (Null Safety): Null bahalary bilen baglanyşykly ýalňyşlyklary öňüni almak üçin girizildi. Üýtgeýjiler default ýagdaýda
nullbolup bilmez, eger açyk görkezilmedik bolsa (?).// Null howpsuzlygy mysaly String nullBolaIlemez = "null däl"; // nullBolaIlemez = null; // Derleme ýalňyşlygy String? nullBolaBilýär = null; // Null bolup biler - Agyr Null howpsuzlygy: Null däl tiplere degişli operasiýalar
NullPointerExceptionhataryna sebäp bolmaz, diňe nullability açyk görkezilse.
Dart'ta tipleniş sistemi, statik tipleniş dilleriniň howpsuzlygy bilen dinamik tipleniş dilleriniň esnekligini deňagramly üpjün edýär.