Sobes.tech
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.