შესვლა

პროგრამირების საფუძვლები › დამწყები › პირობები

მოკლე პირობა

მარტივი⏱ 6 წთ+20 XP👑 Pro#პირობები#ტერნარული#?:

რას ისწავლი

  • როგორ აირჩიო ერთ ხაზში ორი მნიშვნელობიდან ერთი
  • რით განსხვავდება მოკლე პირობა if-ისგან
  • როდის არ ღირს მისი გამოყენება

ორი მნიშვნელობიდან ერთი

ხშირად if / else მხოლოდ იმისთვის გვჭირდება, რომ ცვლადს ორიდან ერთი მნიშვნელობა მივანიჭოთ:

JavaScript
let age = 15;
let status;

if (age >= 18) {
  status = "სრულწლოვანი";
} else {
  status = "არასრულწლოვანი";
}

console.log(status);

ექვსი ხაზი ერთი პატარა არჩევანისთვის. ამისთვის არსებობს მოკლე ჩანაწერი, ტერნარული ოპერატორი (ternary operator). „ტერნარული“ ნიშნავს „სამნაწილიანს“, რადგან მას სამი ნაწილი აქვს:

JavaScript
let age = 15;
let status = age >= 18 ? "სრულწლოვანი" : "არასრულწლოვანი";
console.log(status);

იკითხება ასე: „ასაკი 18 ან მეტია? თუ კი, "სრულწლოვანი", თუ არა და "არასრულწლოვანი"“.

  1. კითხვის ნიშნამდე პირობაა.
  2. კითხვის ნიშანსა და ორწერტილს შორის მნიშვნელობაა, რომელიც true-ს შემთხვევაში აირჩევა.
  3. ორწერტილის შემდეგ მნიშვნელობაა false-ის შემთხვევისთვის.

გამოსახულება და არა ინსტრუქცია

მთავარი განსხვავება if-ისგან ისაა, რომ მოკლე პირობა გამოსახულებაა: ის მნიშვნელობას იძლევა. ამიტომ შეგიძლია ჩასვა ყველგან, სადაც მნიშვნელობაა საჭირო: =-ის მარჯვნივ, console.log-ში ან შაბლონური სტრიქონის ${ }-ში.

JavaScript
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-ზე მეტია თუ არა.

JavaScript · სცადე თავად

ხშირი შეცდომები

  • ნაწილების არეული რიგი. ჯერ პირობა, მერე ?, მერე „კი“ მნიშვნელობა, მერე :, მერე „არა“ მნიშვნელობა. ? და : ადგილს ვერ შეიცვლის.
  • ორწერტილის დავიწყება. x > 0 ? "დადებითი" შეცდომაა: მოკლე პირობას ყოველთვის ორივე მნიშვნელობა სჭირდება.
  • ბრძანებები მნიშვნელობების ნაცვლად. ok ? console.log("კი") : console.log("არა") იმუშავებს, მაგრამ ეს if-ის ამოცანაა. მოკლე პირობა მნიშვნელობის ასარჩევადაა.

სავარჯიშო

ცვლადში temperature ინახება 4. მოკლე პირობით შექმენი ცვლადი advice: თუ ტემპერატურა 10-ზე ნაკლებია, "ქურთუკი ჩაიცვი", თუ არა და "მაისურიც საკმარისია". დაბეჭდე advice.

JavaScript · სცადე თავად
💡 მინიშნება

let advice = temperature < 10 ? "..." : "...";

✅ ამოხსნის ნახვა
JavaScript
let temperature = 4;
let advice = temperature < 10 ? "ქურთუკი ჩაიცვი" : "მაისურიც საკმარისია";
console.log(advice);

მინი-ქვიზი

1რა ინახება x-ში? let x = 5 > 3 ? "კი" : "არა";

2რით განსხვავდება მოკლე პირობა if-ისგან?

3რომელი ჩანაწერია სწორი?

შეჯამება

  • პირობა ? ა : ბ იძლევა ა-ს, თუ პირობა true-ა, და ბ-ს, თუ false-ა.
  • ის გამოსახულებაა, ამიტომ ჩაისმის ცვლადში, console.log-ში და ${ }-ში.
  • მარტივი, ორვარიანტიანი არჩევანისთვის გამოიყენე.
  • მოქმედებებისთვის და ორზე მეტი ვარიანტისთვის if, else if ან switch სჯობს.
📝 ჩემი შენიშვნა