Шартҳо
Ин барои чӣ лозим аст
Барнома бояд интихоб карда тавонад: тугмаи «Даромадан» ё «Баромадан»-ро нишон диҳад, ба бозӣ роҳ диҳад ё бигӯяд «синну сол кам», тахфиф диҳад ё не. Барои ин шартҳо ҳастанд — коде, ки танҳо вақте иҷро мешавад, ки чизе дуруст бошад.
Масъалаҳо бо функсияҳо чӣ гуна сохта шудаанд
Аз ин мавзӯъ масъалаҳо чунин менамоянд: дар муҳаррир аллакай «тайёрӣ» — функсия ҳаст:
function sign(n) {
}
Функсия — порчаи номдори код аст. Додаҳо ба он тавассути параметр (дар ин ҷо n) медароянд, ва натиҷаро
он бо калимаи return медиҳад. Санҷиш худаш функсияро бо ададҳои гуногун даъват мекунад, масалан sign(5)
ва sign(-2), ва муқоиса мекунад, ки он чӣ баргардонд. Вазифаи шумо — навиштани код дар дохили қавсҳои
фигурӣ. Функсияҳоро муфассал дар мавзӯи 7 мебинем, ҳоло ҳамин кифоя аст.
function double(n) {
return n * 2;
}
console.log(double(4));
Натиҷа:
8
if — «агар»
const temperature = 30;
if (temperature > 25) {
console.log("Гарм аст! Об гиред.");
}
console.log("Рӯзи хуш");
Натиҷа:
Гарм аст! Об гиред.
Рӯзи хуш
Дар қавсҳои доиравӣ — шарт. Агар он true бошад, блок дар қавсҳои фигурӣ иҷро мешавад. Агар false
бошад — блок гузаронида мешавад ва барнома пеш меравад.
else — «вагарна» ва else if — «вагарна агар»
const score = 72;
if (score >= 90) {
console.log("Аъло");
} else if (score >= 70) {
console.log("Хуб");
} else if (score >= 50) {
console.log("Қаноатбахш");
} else {
console.log("Бояд беҳтар кард");
}
Натиҷа:
Хуб
Шартҳо аз боло ба поён санҷида мешаванд, ва танҳо шохаи аввалини мувофиқ иҷро мешавад. Гарчанде ки
72 >= 50 низ дуруст аст, ба ин санҷиш навбат намерасад. Бинобар ин тартиб муҳим аст.
return функсияро қатъ мекунад
Дар дохили функсия return дарҳол натиҷаро медиҳад ва аз он мебарояд. Бинобар ин else-ро баъд аз
return навиштан шарт нест:
function canVote(age) {
if (age >= 18) return "ҳа";
return "не";
}
console.log(canVote(20), canVote(15));
Натиҷа:
ҳа не
Агар дар блок як фармон бошад, қавсҳои фигуриро партофтан мумкин аст, мисли ин ҷо. Вале вақте ки фармонҳо якчандтоанд, қавсҳо ҳатмӣ мебошанд.
Операторҳои мантиқӣ
| Оператор | Маъно | Мисол |
|---|---|---|
&& |
ВА — ҳарду шарт дуруст | age >= 18 && hasTicket |
|| |
Ё — ақаллан яке дуруст | isAdmin || isOwner |
! |
НЕ — чаппа мекунад | !isLoggedIn |
const age = 20;
const hasTicket = true;
console.log(age >= 18 && hasTicket); // true
console.log(age < 12 || age > 65); // false
console.log(!hasTicket); // false
Бо қавсҳо гурӯҳбандӣ кардан мумкин аст: (a && b) || c.
Оператори сеҷониба ? :
Навишти кӯтоҳи «агар-вагарна», ки қимат бармегардонад:
const age = 16;
const status = age >= 18 ? "калонсол" : "наврас";
console.log(status);
Натиҷа:
наврас
Чунин хонда мешавад: «шарт ? қимат-агар-ҳа : қимат-агар-не». Барои интихоби оддӣ аз ду вариант қулай
аст; барои мантиқи мураккаб if беҳтар аст.
Қимати пешфарз: ?? ва ||
const nickname = null;
console.log(nickname ?? "Меҳмон"); // Меҳмон
a ?? b b-ро танҳо вақте бармегардонад, ки a — null ё undefined бошад. Вале a || b b-ро барои
ҳар a-и дурӯғин бармегардонад, аз ҷумла 0 ва "". Бинобар ин барои ададҳо ?? бехатартар аст:
0 ?? 10 → 0, вале 0 || 10 → 10.
switch — интихоб аз рӯи қимат
const day = "sat";
switch (day) {
case "sat":
case "sun":
console.log("Рӯзи истироҳат");
break;
case "mon":
console.log("Душанбе — рӯзи вазнин");
break;
default:
console.log("Рӯзи корӣ");
}
Натиҷа:
Рӯзи истироҳат
switch қиматро бо ҳар case қатъиян (===) муқоиса мекунад. break ҳатмист — бе он иҷро ба case-и
навбатӣ «меафтад». default вақте кор мекунад, ки ҳеҷ чиз мувофиқ наомад.
Дар дохил чӣ гуна кор мекунад
Шарт дар if ҳатман true/false нест — JavaScript худаш онро мувофиқи қоидаи қиматҳои «дурӯғин» ба
мантиқӣ табдил медиҳад: 0, "", null, undefined, NaN — дурӯғ, боқӣ — ҳақиқат. Бинобар ин if (name)
маънои «агар ном холӣ набошад»-ро дорад. Ва && ва || танбалона ҳисоб мешаванд: агар ҷавоб аз қисми
аввал маълум бошад (false && … ё true || …), қисми дуюм ҳатто иҷро намешавад.
Хатоҳои маъмул
=ба ҷойи===.if (x = 5)5-ро мебахшад ва ҳамеша ҳақиқӣ аст.if (x === 5)нависед.- Тартиби нодурусти
else if. Агар аввалscore >= 50-ро санҷед, баҳои «Аъло» ҳеҷ гоҳ дода намешавад. Аз шартҳои аз ҳама сахт сар кунед. - Муқоисаи дукарата мисли математика.
7 <= age <= 17дар JS нодуруст кор мекунад. Лозим астage >= 7 && age <= 17. returnфаромӯш шуд. Функсия беreturnundefinedбармегардонад — санҷиш нишон медиҳад, киundefinedгирифта шуд.breakдарswitchфаромӯш шуд. Якчанд шоха паси ҳам иҷро мешаванд.
Ёддошт
| Чӣ | Чӣ тавр |
|---|---|
| Агар | if (шарт) { … } |
| Вагарна агар / вагарна | else if (…) { … } else { … } |
| ВА / Ё / НЕ | &&, ||, ! |
| Сеҷониба | шарт ? ҳа : не |
| Пешфарз | x ?? "захиравӣ" |
| Интихоб аз рӯи қимат | switch (x) { case …: …; break; default: … } |
| Баргардондан аз функсия | return қимат; |