JavaScriptda ehtimollar bilan ishlash

JavaScriptda ehtimollar bilan ishlash

Yoki o'zbekchasiga "sen bo'lmasang boshqasi"

Kirish

Ko'p hollarda ba'zi shartlarga asoslangan amallarni bajarishga to'g'ri keladi. Buning uchun bizda if/else ehtimollar operatori va ?/: ko'rinishidagi operatorlar mavjud. Bu darsda shular haqida gaplashamiz.

if

if(...) opeatori qavslari ichida ehtimol yoki biror shartga asoslangan parametr qabul qiladi. Agar berilgan ehtimol true bo'lsa , ya'ni shartga to'g'ri kelsa, if blokining ichida berilgan kod amalga oshadi. Masalan:

let schoolAge = 7;
if (schoolAge === 7) {
  console.log("Maktabga mumkin!✅");
}

if va boolean qiymat

if(...) operatori qavslar (...) ichida berilgan qiymatni boolean qiymatga aylantiradi.

Keling, true va false qiymatlarni bir eslab olamiz. Batafsil ma'lumot bu yerda.

  • 0 raqami, "" ya'ni bo'sh string, null, undefinedva NaN - false qiymatlar sirasiga kiradi, JS tilida "falsy values"

  • Boshqa qiymatlar true , va ular "truthy values" deb nomlanadi.

Masalan, quyidagi if bloki hech qachon bajarilmaydi:

if(0) { // 0 falsy value hisoblanadi
 ....
}

Navbatdagi if bloki doim bajariladi:

if(1) { // 1 truthy qiymat hisoblanadi
  ....
}

Biz har doim ehtimol parametrini biror o'zgaruvchiga bog'lab ham ishlatishimiz mumkin:

let condition = 5 > 4; // true

if(condition){ 
....
}

else

if operatori bilan birga majburiy bo'lmagan else qo'shimchasini qo'shsak bo'ladi. else ni biz if(...) dagi shart bajarilmagan holatda yoki false bo'lgandan qo'shimcha ehtimol sifatida foydalansak bo'ladi.

Masalan:

let age = 15;

if (age > 18) {
  console.log("Prava olish mumkin!✅");
} else {
  console.log("Prava olish mumkin emas!❌");
}

if/else bilan bir nechta shartlar

Ko'p hollarda, bir 2 va undan ortiq shartlarni test qilishga to'g'ri keladi va if/else bizga buni imkonini beradi.

let age = prompt("Sizning yoshingiz nechchida?");

if(age < 18){
    console.log("Prava uchun yoshingiz yetmaydi!.❌");
} else if(age > 100) {
    console.log("Yoshingiz nechchida bobo?🤔");
} else {
    console.log("Prava olishingiz mumkin!✅");
}

Yuqoridagi kodimizda, JavaScript birinchi age < 18 ni tekshiradi. Agar 18 dan kichik raqam kiritilsa ikkinchi if blokiga o'tadi. Agar 18 dan katta son kiritilsa if ehtimollar zanjiri to'xtaydi. 18 < age < 100 oralig'idagi sonlar uchun eng oxirgi else bloki bajariladi.

? operatori

if/else o'rinbosari sifatida hamda uning qisqaroq formasi sifatida ? : ko'rinishidagi operatorlardan foydalansak bo'ladi. To'g'ri, ba'zi holatlarda ? : if/else ni o'rnini bosolmaydi. Lekin, aytaylik, shartlar bajarilish davomida biz o'zgaruvchilarning qiymatini o'zgartirishimizga to'g'ri kelsa, ? : operatorlari qulay.

Masalan:

let age = prompt("Nechchi yoshsiz?");
let drivingAllowed;

if (age > 18) {
  drivingAllowed = true;  
} else {
  drivingAllowed = false; 
}
console.log(drivingAllowed);

Keling, yuqoridagi kodni ? : ishtirokida yozamiz:

let age = prompt("Nechchi yoshsiz?");

let drivingAllowed = age > 18 ? true : false;

console.log(drivingAllowed);

Yoki, yana ham qisqaroq:

let age = prompt("Nechchi yoshsiz?");

let drivingAllowed = age > 18;

Chunki, age o'zgaruvchisi uchun 18 dan katta sonlarga drivingAllowed doim true , 18 dan kichik sonlar uchun doim false boolean qiymat qabul qilamiz.

Bir nechta ? :

? : larni xuddi if/else kabi ishlatsak bo'ladi.

Masalan:

let age = prompt("Yoshingiz nechchida?");

let drivingAllowed = age < 18 ? "Darsingni qil❌" : age > 150 ? "Bu yoshga qanday yetdingiz?🤔" : "Prava olshingiz mumkin✅";

console.log(drivingAllowed);

Yuqoridagi kodni if/else ga o'girsak qanday ko'rinishga keladi?

let age = prompt("Yoshingiz nechchida?");
let drivingAllowed;

if(age < 18){
    drivingAllowed = "Darsingni qil❌";
} else if(age > 150){
    drivingAllowed = "Bu yoshga qanday yetdingiz?🤔";
} else {
    drivingAllowed = "Prava olshingiz mumkin✅";
}   
console.log(drivingAllowed);

E'tiboringiz uchun rahmat. Sizga foydali bo'ladi degan umiddaman. Sizga maslahatim, pastda "Subscribe to my newsletter" bo'limida email pochtangizni qoldiring va darslarni e'lon qiligandayoq pochtangizga qabul qiling.

Agar darsliklar sizga yoqayotgan bo'lsa, bizni kuzatib borishingiz mumkin: