Sobes.tech
Junior

Ի՞նչ օպերատորներ կան Null-safety-ում։

sobes.tech AI

Պատասխան AI-ից

Flutter-ի Null Safety-ով օգտագործվում են հետևյալ օպերատորները, որոնք կապված են nullable տիպերի հետ:

  • ? (Հարցական նշան): Հայտարարում է փոփոխական որպես nullable:

    String? nullableString; // Փոփոխական կարող է պարունակել String կամ null
    
  • ! (Արձագանք / Non-null հաստատում): Համոզվում է կոմպիլատորին, որ արժեքը այս պահին չի null։ Պետք է օգտագործել զգուշությամբ, քանի որ կարող է առաջացնել ժամանակային սխալ, եթե արժեքը null լինի:

    String nonNullableString = nullableString!; // Համոզվում ենք, որ nullableString-ը չի null
    
  • ?? (Null միաձուլման օպերատոր): Պահանջում է պահուստային արժեք, եթե ձախ կողմի արտահայտությունը null է:

    String result = nullableString ?? "Նախնական արժեք"; // Եթե nullableString null է, result-ը կլինի "Նախնական արժեք"
    
  • ??= (Null միաձուլման նշանակման օպերատոր): Միայն այն դեպքում է նշանակում արժեք փոփոխականին, եթե այն null է:

    String? variable;
    variable ??= "Առաջնական արժեք"; // Եթե variable null է, նրան կտրամադրվի "Առաջնական արժեք"
    
  • ?. (Անվտանգ մուտքի օպերատոր): Անվտանգ մուտք է ապահովում օբյեկտի անդամներին, որը կարող է լինել null։ Եթե օբյեկտը null է, արտահայտությունը վերադարձնում է null:

    String? nullableString;
    int? length = nullableString?.length; // Եթե nullableString null է, length-ը կլինի null
    
  • ?[] (Անվտանգ ցուցակային օպերատոր): Անվտանգ մուտք է ապահովում ցուցակի կամ Map-ի տարրերին, որոնք կարող են լինել null։ Եթե ցուցակը կամ Map-ը null է, արտահայտությունը վերադարձնում է null:

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Եթե nullableList null է, firstElement-ը կլինի null