Dərs 6 Başlanğıc səviyyə

JavaScript-də idarəetmə axını

Kodunuzun necə icra olunacağını idarə etməyi və qərar qəbul etməyi öyrənin

Nələri öyrənəcəksiniz

  • Şərtli ifadələrdən (if/else) necə istifadə edəcəyinizi öyrənəcəksiniz
  • Switch ifadələrini və onların istifadə yerlərini mənimsəyəcəksiniz

01 İdarəetmə axını nədir?

İdarəetmə axını kodunuzun hansı sıra ilə icra olunacağını müəyyən edir. Standart olaraq, JavaScript kodu yuxarıdan aşağıyasoldan sağa icra olunur. Ancaq idarəetmə axını ifadələri bu sıranı dəyişdirməyə, kod bloklarını şərtlərə əsasən keçməyə və ya təkrarlamağa imkan verir.

Real həyatdan analoqiyaİdarəetmə axınını GPS naviqasiyası kimi düşünün: "Əgər yol bağlıdırsa, sağa dön. Əks halda düz get." Yol şərtlərinə əsasən marşrutunuz dəyişir, eynilə kodunuzun məlumat əsasında necə dəyişdiyi kimi.

İdarəetmə axını növləri

JavaScript üç əsas idarəetmə axını strukturuna malikdir:

  • Şərti ifadələr - Şərtlərə əsasən fərqli kod bloklarını icra edin (if/else, switch)

02 If/Else ifadələri

If ifadəsi şərtə əsasən kod blokunu icra etməyə imkan verir. Şərt true olarsa, kod icra olunur. Əks halda, o keçilir və ya alternativ else bloku icra olunur.

Əsas if ifadəsi

If ifadəsinin ən sadə forması yalnız bir şərt yoxlayır.

javascript
let temperature = 25;

if (temperature > 20) {
  console.log('Hava istidir!');
}
// Çıxış: Hava istidir!

let age = 15;
if (age >= 18) {
  console.log('Siz səsvermə yaşındasınız');
}
// Bu heç bir şey çıxarmaz çünki şərt false-dur

If/Else

Else bloku şərt false olduqda alternativ kod təqdim edir.

javascript
let score = 75;

if (score >= 50) {
  console.log('Keçdiniz!');
} else {
  console.log('Kəsildiniz.');
}
// Çıxış: Keçdiniz!

let isRaining = true;
if (isRaining) {
  console.log('Çətir götürün');
} else {
  console.log('Gözəl günün keyfini çıxarın!');
}
// Çıxış: Çətir götürün

Else If

Else if çoxsaylı şərtləri ardıcıl olaraq yoxlamağa imkan verir.

javascript
let grade = 85;

if (grade >= 90) {
  console.log('Qiymətiniz: A');
} else if (grade >= 80) {
  console.log('Qiymətiniz: B');
} else if (grade >= 70) {
  console.log('Qiymətiniz: C');
} else if (grade >= 60) {
  console.log('Qiymətiniz: D');
} else {
  console.log('Qiymətiniz: F');
}
// Çıxış: Qiymətiniz: B
QeydJavaScript yuxarıdan aşağıya şərtləri yoxlayır və true olan ilk şərti icra edir, sonra bütün bloku keçir.

Yuvalanmış if ifadələri

Daha mürəkkəb məntiqi yoxlamalar üçün if ifadələrini bir-birinin içinə yerləşdirə bilərsiniz.

javascript
let age = 20;
let hasLicense = true;

if (age >= 18) {
  if (hasLicense) {
    console.log('Sürə bilərsiniz!');
  } else {
    console.log('Sürücülük vəsiqəsi almalısınız');
  }
} else {
  console.log('Sürücülük yaşında deyilsiniz');
}
// Çıxış: Sürə bilərsiniz!

💡 İpucu: Həddindən artıq yuvalanmadan qaçın. 2-3 səviyyədən çox yuvalansa, məntiqi operatorlardan (&&, ||) istifadə etməyi və ya kodu funksiyalara bölməyi düşünün.

03 Üçlü (ternary) operator

Üçlü operator sadə if/else ifadəsi üçün qısa sözdizimini təqdim edir. O, ? : istifadə edir və çox vaxt təyin ifadələrində istifadə olunur.

Sintaksis

şərt ? ifTrue : ifFalse

javascript
// If/else istifadə etməklə
let age = 20;
let status;
if (age >= 18) {
  status = 'Yetkin';
} else {
  status = 'Yetkin deyil';
}

// Üçlü operator istifadə etməklə
let age2 = 20;
let status2 = age2 >= 18 ? 'Yetkin' : 'Yetkin deyil';
console.log(status2); // Çıxış: Yetkin

// Başqa nümunələr
let score = 85;
let result = score >= 50 ? 'Keçdi' : 'Kəsildi';
console.log(result); // Çıxış: Keçdi

let temp = 30;
let weather = temp > 25 ? 'İsti' : 'Soyuq';
console.log(weather); // Çıxış: İsti
İstifadə halıÜçlü operator sadə if/else şərtləri üçün mükəmməldir, amma mürəkkəb məntiqlər üçün adi if/else daha oxunaqlıdır.

04 Switch ifadəsi

Switch ifadəsi bir dəyəri çoxsaylı mümkün hallarla müqayisə edir. O, çoxsaylı else if ifadələrinə alternativ olaraq istifadə oluna bilər və tez-tez daha təmiz və oxunaqlıdır.

Əsas sintaksis

javascript
let day = 3;
let dayName;

switch (day) {
  case 1:
    dayName = 'Bazar ertəsi';
    break;
  case 2:
    dayName = 'Çərşənbə axşamı';
    break;
  case 3:
    dayName = 'Çərşənbə';
    break;
  case 4:
    dayName = 'Cümə axşamı';
    break;
  case 5:
    dayName = 'Cümə';
    break;
  case 6:
    dayName = 'Şənbə';
    break;
  case 7:
    dayName = 'Bazar';
    break;
  default:
    dayName = 'Yanlış gün';
}

console.log(dayName); // Çıxış: Çərşənbə
Vacib: break açar sözüHər case sonunda break lazımdır! Break olmadan, JavaScript növbəti case-ə "düşəcək" və onu da icra edəcək, hətta şərt uyğun gəlməsə belə.

Düşmə davranışı (fall-through)

Bəzən düşmə davranışı faydalı ola bilər - çoxsaylı case-lər eyni kodu icra edə bilər.

javascript
let fruit = 'alma';

switch (fruit) {
  case 'alma':
  case 'armud':
  case 'banan':
    console.log('Bu meyvədir');
    break;
  case 'kələm':
  case 'kartof':
  case 'soğan':
    console.log('Bu tərəvəzdir');
    break;
  default:
    console.log('Naməlum qida növü');
}
// Çıxış: Bu meyvədir

Default hal

Default hal heç bir case uyğun gəlmədikdə icra olunur (else kimi).

javascript
let color = 'bənövşəyi';

switch (color) {
  case 'qırmızı':
    console.log('Qırmızı seçdiniz');
    break;
  case 'mavi':
    console.log('Mavi seçdiniz');
    break;
  case 'yaşıl':
    console.log('Yaşıl seçdiniz');
    break;
  default:
    console.log('Rəng tapılmadı');
}
// Çıxış: Rəng tapılmadı

Switch və ya if/else?

Switch istifadə edin:

  • Eyni dəyəri çoxsaylı spesifik hallarla müqayisə edərkən
  • Dəyər mətndirlərdən və ya rəqəmlərdən biri olarkən
  • Çoxsaylı else if-ləriniz olduqda

If/else istifadə edin:

  • Müxtəlif dəyişənlərlə və ya mürəkkəb şərtlərlə işləyərkən
  • Diapazon yoxlamaları apararkən (məs. age > 18 && age < 65)
  • Boolean dəyərləri yoxlayarkən

05 Ümumi səhvlər

❌ Switch-də break-i unutmaq

Break olmadan, icra növbəti case-lərə "düşəcək".

javascript
// ❌ Yanlış
let day = 1;
switch (day) {
  case 1:
    console.log('Bazar ertəsi');
  case 2:
    console.log('Çərşənbə axşamı');
}
// Çıxış: "Bazar ertəsi" VƏ "Çərşənbə axşamı"

// ✅ Düzgün
let day2 = 1;
switch (day2) {
  case 1:
    console.log('Bazar ertəsi');
    break;
  case 2:
    console.log('Çərşənbə axşamı');
    break;
}
// Çıxış: yalnız "Bazar ertəsi"

❌ Şərtdə təyin (=) operandını istifadə etmək

= (təyin) ilə === (müqayisə) qarışdırmaq.

javascript
let x = 5;

// ❌ Yanlış
if (x = 10) { // x-ə 10 təyin edir, onu yoxlamır!
  console.log('Bu həmişə icra olunur!');
}

// ✅ Düzgün
if (x === 10) { // x-i 10 ilə müqayisə edir
  console.log('x 10-dur');
}

Xülasə

İdarəetmə axını kodunuzun icra sırasını şərti ifadələrdən istifadə edərək müəyyən edir
If/else ifadələri şərtlərə əsasən kod blokları icra edir. Üçlü operator (? :) sadə şərtlər üçün qısadır
Switch ifadələri bir dəyəri çoxsaylı hallarla müqayisə edir. Düşməni qarşısını almaq üçün break istifadə edin
Ehtiyatli olun: switch ifadələrində break-i unutmaq və müqayisə (===) əvəzinə təyinat (=) istifadə etmək ümumi səhvlərdir

Təklifiniz var, səhv və ya xəta tapdınız? Zəhmət olmasa bizimlə əlaqə saxlayın.