Nullable tiplar, null-safety dart va Operator ??
Ilyos- Dart 2.12 dan boshlab null-safety(null-xafsizlik) ishga tushadi
- Nullable tipida e'lon qilganizda, o'zgaruvchi null qiymat saqlay olmaydi. Null xavfsizlik bilan siz kod yozayotkan jaroyonizda sizga o'zgaruvchingiz null qiymatga ega bolsa buni analizator korsatib turadi
Xozrgi paytda biz

Dart 2.12 dan boshlab esa bunday yozganimizda bizda xatolik chiqadi:

Xatolik shuni aytabdiki, biz null qabul qilmaydigan o’zgaruvchiga qiymat bermasdan ishlata olmasligimizni.
Yani null qabul qilmaydigan tipdaki o’zgaruvchilar e'lon qilingan payti qiymatga ega bo'lishi lozim.
int x; //mumkin emas
int x = 5; //mumkin
Lekin bazi vaziyatlarda o’zgaruvchiga qiymat bermasdan e’lon qilishga to’g’ri keladi. yani null qabul qila oladigan bo’lishi kerak.
Va bunda bizga nullable tiplar yordam beradi.
Nullable tipida e’lon qilish uchun biz tipdan keyin ? operatorini qoyishimiz kerak.

Operator ??
- Operator ?? o'zgaruvchiga qiymat berishda uni null-ga tekshiradi.

Buyerda xato shundaki biz num2 o’zgaruvchini tipini nullable qilmadik.
Va shunday xatolikni oldini olish uchun ?? operatori ishlatiladi.
num1 ?? num2
bunda num1 o’zgaruvchimiz null bo’lmasa num1 o’zgaruvchining qiymati yuqlanadi, agar num1 qiymati null bolsa unda num2 o’zgaruvchining qiymati yuqlanadi.

Birinchi amalimizda num2 ga num1 qiymati beriladi, chunki num1 null emas.
Ikkinchi amalimizda num2 7 ga teng bo'ladi, chunki num1 null bo'lgandi.
P.S dartpad.dev saytida Null Safety ni qollash uni yoqish korsatilgan foto)
