Junior — Middle
რა შეიცვალა Dart 2.0-ში ავტომატური ტიპების გადაცემასთან დაკავშირებით და რატომ უარყვეს იგი?
sobes.tech AI
პასუხი AI-სგან
Dart 2.0-ში ავტომატური ტიპის გადატანა (implicit downcasts) უარყო იმისთვის, რომ გაუმჯობესდეს ტიპების უსაფრთხოება და შესრულების სიჩქარე. ადრე, კომპილატორი ავტომატურად ახორციელებდა ტიპების გადატანას, რაც შეიძლება გამოიწვიოს შეცდომებს შესრულების დროს, თუ ტიპები არ ემთხვეოდა.
ახლა, ყველა ტიპის გადატანა უნდა იყოს გამჭვირვალე, რაც საშუალებას აძლევს შეცდომების გამოვლენას კომპილაციის ეტაპზე და კოდი უფრო პროგნოზირებადი და საიმედო გახადოს.
მაგალითი:
Object obj = "სტრიქონი";
String str = obj; // შეცდომა კომპილაციაში Dart 2.0-ში
String str = obj as String; // სწორია, გამჭვირვალე გადატანა
ამ გზით, ავტომატური გადატანის უარყოფამ გაუმჯობესდა კოდის ხარისხი და ტიპების უსაფრთხოება.