Sobes.tech
Junior — Middle

Τι άλλαξε στο Dart 2.0 σχετικά με τη αυτόματη μετατροπή τύπων και γιατί εγκαταλείφθηκε;

sobes.tech AI

Απάντηση από AI

Στο Dart 2.0, εγκαταλείφθηκε η αυτόματη μετατροπή τύπων (υποδηλωτικές downcasts) για την αύξηση της ασφάλειας τύπων και τη βελτίωση της απόδοσης. Παλαιότερα, ο μεταγλωττιστής έκανε αυτόματα μετατροπές τύπων, που θα μπορούσαν να οδηγήσουν σε σφάλματα κατά την εκτέλεση αν οι τύποι δεν ταιριάζαν.

Τώρα, όλες οι μετατροπές τύπων πρέπει να είναι ρητές, επιτρέποντας την ανίχνευση σφαλμάτων κατά τη φάση της μεταγλώττισης και καθιστώντας τον κώδικα πιο προβλέψιμο και αξιόπιστο.

Παράδειγμα:

Object obj = "σειρά";
String str = obj; // Σφάλμα μεταγλώττισης στο Dart 2.0
String str = obj as String; // Σωστό, ρητή μετατροπή

Έτσι, η απόρριψη της αυτόματης μετατροπής βελτίωσε την ποιότητα του κώδικα και την ασφάλεια των τύπων.