Junior
Aký je systém typovania v jazyku Dart?
sobes.tech AI
Odpoveď od AI
Systém typizácie v Dart je silný, statický a umožňuje dynamické určenie typu.
Hlavné koncepty:
- Statická typizácia: Typy premenných sa kontrolujú počas kompilácie. To pomáha odhaliť chyby pred spustením aplikácie.
// Príklad statickej typizácie int vek = 30; // vek = "tridsať"; // Chyba kompilácie - Inferencia typov: Kompilátor môže automaticky určiť typ premennej na základe priradenej hodnoty.
// Príklad inferencie typov var meno = "Alice"; // Kompilátor určí, že je to String - Dynamický typ (dynamic): Umožňuje premennej uchovávať hodnoty akéhokoľvek typu. Kontrola typov sa vykonáva počas behu. Odporúča sa minimalizovať používanie
dynamic.// Príklad dynamického typu dynamic hodnota = 10; hodnota = "ahoj"; - Null bezpečnosť (Null Safety): Zavedená na prevenciu chýb súvisiacich s null hodnotami. Premenné predvolene nemôžu byť
null, pokiaľ nie sú explicitne označené ako nullable (?).// Príklad null safety String nieNull = "nie null"; // nieNull = null; // Chyba kompilácie String? nullable = null; // Povolené byť null - Prísna null bezpečnosť: Zabezpečuje, že operácie s ne-nullovateľnými typmi nebudú spôsobovať výnimku
NullPointerException, pokiaľ nullability nie je explicitne povolená.
Systém typizácie v Dart poskytuje rovnováhu medzi bezpečnosťou staticky typovaných jazykov a flexibilitou dynamicky typovaných jazykov.