Nullable tiplar, null-safety dart va Operator ??

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

dartpad.dev

Dart 2.12 dan boshlab esa bunday yozganimizda bizda xatolik chiqadi:

dartpad.dev da null safety ni yoqib tekshirib qorishilar mumkin

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)
Bu xozr null safaty qollash mumkin bolgan xolatda turibdi



Report Page