if,else ifvəelseilə budaqlanan kod yazmaq- Şərtləri
&&və||ilə birləşdirmək - Üçlü operator və
switchüçün uyğun vəziyyətləri seçmək
Hər gün onlarla qərar verirsən: yağış yağırsa, çətir götürürsən; saat gecdirsə, taksi çağırırsan; balansında pul azdırsa, alışı təxirə salırsan. Proqramlar da belə qərarlar verir — şərt operatorlarının köməyi ilə.
if: şərt doğrudursa
if açar sözündən sonra mötərizədə şərt yazılır, fiqurlu mötərizələr { } içində isə şərt doğru olduqda icra olunacaq kod — blok. Şərt yalandırsa, blok ötürülür və proqram davam edir.
const temperature = 28;
if (temperature > 25) {
console.log('It is hot. Drink some water!');
}
console.log('Have a nice day');▸ Gözlənilən nəticə
It is hot. Drink some water! Have a nice day
temperature qiymətini 15 et və yenidən işə sal: birinci mesaj yox olacaq.else və else if
else bloku şərt yalan olduqda icra olunur. Variant ikidən çoxdursa, else if ilə yeni şərtlər əlavə edilir. JavaScript şərtləri yuxarıdan aşağı yoxlayır və ilk doğru şərtin blokunu icra edir — qalanlarına baxmır.
const score = 78;
if (score >= 90) {
console.log('Excellent');
} else if (score >= 70) {
console.log('Good');
} else if (score >= 50) {
console.log('Satisfactory');
} else {
console.log('Try again');
}▸ Gözlənilən nəticə
Good
Şərtləri birləşdirmək
Bir neçə şərti birləşdirmək üçün məntiqi operatorlardan istifadə olunur: && (VƏ) hər iki şərtin, || (VƏ YA) isə ən azı birinin doğru olmasını tələb edir. Tutaq ki, kinoteatr həftə sonu 18 yaşdan kiçiklərə endirim edir:
const age = 15;
const isWeekend = true;
if (age < 18 && isWeekend) {
console.log('Discount ticket: 3 AZN');
} else {
console.log('Regular ticket: 5 AZN');
}
const day = 'Sunday';
if (day === 'Saturday' || day === 'Sunday') {
console.log('No school today');
}▸ Gözlənilən nəticə
Discount ticket: 3 AZN No school today
&& operatoru AND qapısı kimi işləyir: çıxış yalnız hər iki giriş doğru olanda doğrudur. OR qapısına keçib || ilə müqayisə et.Üçlü operator
İki variantdan birini seçib dəyişənə yazmaq lazımdırsa, qısa forma var: şərt ? qiymət1 : qiymət2. Şərt doğrudursa, nəticə qiymət1, yalandırsa qiymət2 olur. Buna üçlü (ternar) operator deyilir, çünki üç hissədən ibarətdir.
const hour = 20;
const greeting = hour < 12 ? 'Good morning' : 'Good evening';
console.log(greeting);
const items = 1;
console.log(`You have ${items} ${items === 1 ? 'item' : 'items'} in the basket`);▸ Gözlənilən nəticə
Good evening You have 1 item in the basket
switch: çoxlu variant
Bir dəyişəni çoxlu konkret qiymətlərlə müqayisə etmək lazım olanda switch uzun else if zəncirindən daha oxunaqlıdır. Hər case bir qiyməti yoxlayır (ciddi müqayisə === ilə), break isə switch-dən çıxır. Heç bir case uyğun gəlməsə, default bloku icra olunur.
const day = 'Saturday';
switch (day) {
case 'Saturday':
case 'Sunday':
console.log('Weekend!');
break;
case 'Friday':
console.log('Almost weekend');
break;
default:
console.log('Work day');
}▸ Gözlənilən nəticə
Weekend!
case 'Saturday': növbəti case ilə eyni kodu paylaşır — iki qiymət üçün bir cavab.const light = 'yellow';
switch (light) {
case 'green':
console.log('Go');
case 'yellow':
console.log('Get ready');
case 'red':
console.log('Stop');
}▸ Gözlənilən nəticə
Get ready Stop
| Konstruksiya | Nə vaxt istifadə etməli |
|---|---|
if / else if / else | istənilən şərtlər: aralıqlar (score >= 90), bir neçə dəyişən, mürəkkəb yoxlamalar |
? : | bir sətirdə iki qiymətdən birini seçmək |
switch | bir dəyişəni çoxlu konkret qiymətlə müqayisə etmək |
score üçün qiyməti çap et: 90 və yuxarı — A, 75 və yuxarı — B, 60 və yuxarı — C, qalan hallarda — F. Sonra ternar operatorla passed (bal 60 və ya daha çoxdursa) və ya failed çap et.
const score = 83;
// 1) print the grade: A, B, C or F
// 2) print passed or failed with the ternary operator▸ Gözlənilən nəticə
B passed
Əsas fikirlər
ifbloku yalnız şərt doğru olduqda icra olunur;elseisə əks halda.else ifzəncirində ilk doğru şərt qalib gəlir, ona görə ən ciddi şərt yuxarıda olmalıdır.&&hər iki şərtin,||ən azı birinin doğru olmasını tələb edir.- Üçlü operator
şərt ? a : biki qiymətdən birini seçir. switchqiymətləri===ilə müqayisə edir; hərcase-in sonundabreakyaz.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
const x = 7; olduqda if (x > 10) { console.log('A'); } else { console.log('B'); } nə çap edəcək?