პროგრამირების საფუძვლები › დამწყები › პირობები
მოკლე პირობა
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- როგორ აირჩიო ერთ ხაზში ორი მნიშვნელობიდან ერთი
- რით განსხვავდება მოკლე პირობა
if-ისგან - როდის არ ღირს მისი გამოყენება
ორი მნიშვნელობიდან ერთი
ხშირად if / else მხოლოდ იმისთვის გვჭირდება, რომ ცვლადს ორიდან ერთი მნიშვნელობა მივანიჭოთ:
let age = 15;
let status;
if (age >= 18) {
status = "სრულწლოვანი";
} else {
status = "არასრულწლოვანი";
}
console.log(status);ექვსი ხაზი ერთი პატარა არჩევანისთვის. ამისთვის არსებობს მოკლე ჩანაწერი, ტერნარული ოპერატორი (ternary operator). „ტერნარული“ ნიშნავს „სამნაწილიანს“, რადგან მას სამი ნაწილი აქვს:
let age = 15;
let status = age >= 18 ? "სრულწლოვანი" : "არასრულწლოვანი";
console.log(status);იკითხება ასე: „ასაკი 18 ან მეტია? თუ კი, "სრულწლოვანი", თუ არა და "არასრულწლოვანი"“.
- კითხვის ნიშნამდე პირობაა.
- კითხვის ნიშანსა და ორწერტილს შორის მნიშვნელობაა, რომელიც
true-ს შემთხვევაში აირჩევა. - ორწერტილის შემდეგ მნიშვნელობაა
false-ის შემთხვევისთვის.
გამოსახულება და არა ინსტრუქცია
მთავარი განსხვავება if-ისგან ისაა, რომ მოკლე პირობა გამოსახულებაა: ის მნიშვნელობას იძლევა. ამიტომ შეგიძლია ჩასვა ყველგან, სადაც მნიშვნელობაა საჭირო: =-ის მარჯვნივ, console.log-ში ან შაბლონური სტრიქონის ${ }-ში.
let n = 17;
console.log(`${n} ${n % 2 === 0 ? "ლუწია" : "კენტია"}`);
let lives = 0;
console.log(lives > 0 ? "თამაში გრძელდება" : "თამაში დასრულდა");პირველი ხაზი ბეჭდავს 17 კენტია-ს. % ნაშთს აბრუნებს, და თუ ორზე გაყოფისას ნაშთი ნულია, რიცხვი ლუწია.
if კი ინსტრუქციაა: ის „აკეთებს“ რამეს და მნიშვნელობას არ იძლევა. let x = if (...) ასე ვერ დაწერ.
როდის არ გამოიყენო
მოკლე პირობა კარგია მარტივი არჩევანისთვის, ორი მოკლე მნიშვნელობიდან. სხვა შემთხვევაში ის კოდს აბნევს:
- როცა მოქმედებებია და არა მნიშვნელობები. თუ ორივე შემთხვევაში რამდენიმე ხაზი უნდა შესრულდეს,
if / elseდაწერე. - როცა ვარიანტი ორზე მეტია. მოკლე პირობები შეიძლება ერთმანეთში ჩასვა, მაგრამ
a ? b : c ? d : eთითქმის არავის ესმის პირველივე წაკითხვით. სამი და მეტი ვარიანტისთვისelse ifანswitchგამოიყენე.
კარგი წესია: თუ მოკლე პირობა ერთ ხაზზე აღარ ეტევა ან მის გასაგებად ხელახლა წაკითხვა გჭირდება, ის if-ად გადაწერე.
სცადე თავად
გაუშვი, მერე შეცვალე score და n. დაამატე მესამე ხაზი, რომელიც დაბეჭდავს "გამარჯვება"-ს ან "დამარცხება"-ს იმის მიხედვით, score 50-ზე მეტია თუ არა.
ხშირი შეცდომები
- ნაწილების არეული რიგი. ჯერ პირობა, მერე
?, მერე „კი“ მნიშვნელობა, მერე:, მერე „არა“ მნიშვნელობა.?და:ადგილს ვერ შეიცვლის. - ორწერტილის დავიწყება.
x > 0 ? "დადებითი"შეცდომაა: მოკლე პირობას ყოველთვის ორივე მნიშვნელობა სჭირდება. - ბრძანებები მნიშვნელობების ნაცვლად.
ok ? console.log("კი") : console.log("არა")იმუშავებს, მაგრამ ესif-ის ამოცანაა. მოკლე პირობა მნიშვნელობის ასარჩევადაა.
სავარჯიშო
ცვლადში temperature ინახება 4. მოკლე პირობით შექმენი ცვლადი advice: თუ ტემპერატურა 10-ზე ნაკლებია, "ქურთუკი ჩაიცვი", თუ არა და "მაისურიც საკმარისია". დაბეჭდე advice.
💡 მინიშნება
let advice = temperature < 10 ? "..." : "...";
✅ ამოხსნის ნახვა
let temperature = 4;
let advice = temperature < 10 ? "ქურთუკი ჩაიცვი" : "მაისურიც საკმარისია";
console.log(advice);მინი-ქვიზი
1რა ინახება x-ში? let x = 5 > 3 ? "კი" : "არა";
პირობა true-ა, ამიტომ აირჩევა ?-ის შემდეგ მდგომი მნიშვნელობა.
2რით განსხვავდება მოკლე პირობა if-ისგან?
ამიტომ შეიძლება მისი ჩასმა =-ის მარჯვნივ ან ${ }-ში.
3რომელი ჩანაწერია სწორი?
ჯერ ? და „კი“ მნიშვნელობა, მერე : და „არა“ მნიშვნელობა. ორივე სავალდებულოა.
შეჯამება
პირობა ? ა : ბიძლევა ა-ს, თუ პირობა true-ა, და ბ-ს, თუ false-ა.- ის გამოსახულებაა, ამიტომ ჩაისმის ცვლადში,
console.log-ში და${ }-ში. - მარტივი, ორვარიანტიანი არჩევანისთვის გამოიყენე.
- მოქმედებებისთვის და ორზე მეტი ვარიანტისთვის
if,else ifანswitchსჯობს.