პროგრამირების საფუძვლები › დამწყები › ცვლადები და მონაცემები
ჭეშმარიტი და მცდარი
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- რა არის ლოგიკური მნიშვნელობა (boolean) და რატომ აქვს მას მხოლოდ ორი ვარიანტი
- როგორ შეადარო ორი მნიშვნელობა შედარების ოპერატორებით
- რით განსხვავდება
=და===
კი ან არა
ბევრ კითხვას მხოლოდ ორი პასუხი აქვს: „წვიმს?“, „შუქი ანთია?“, „მოთამაშემ მოიგო?“. პასუხია „კი“ ან „არა“, სხვა ვარიანტი არ არსებობს.
პროგრამირებაში ასეთ პასუხს ლოგიკური მნიშვნელობა (boolean) ჰქვია. მას მხოლოდ ორი შესაძლო მნიშვნელობა აქვს: true (ჭეშმარიტი) და false (მცდარი). ორივე ბრჭყალების გარეშე იწერება, პატარა ასოებით.
let isRaining = true;
let hasUmbrella = false;
console.log(isRaining, hasUmbrella);ლოგიკური მნიშვნელობა შუქის ჩამრთველს ჰგავს: ან ჩართულია, ან გამორთული. რიცხვს და სტრიქონს უამრავი შესაძლო მნიშვნელობა აქვს, ლოგიკურს კი მხოლოდ ორი.
შედარება ლოგიკურ მნიშვნელობას იძლევა
true-ს და false-ს ხელით იშვიათად წერ. უფრო ხშირად მათ კომპიუტერი გიბრუნებს, როცა ორ მნიშვნელობას ადარებ შედარების ოპერატორით (comparison operator):
| ოპერატორი | კითხვა | მაგალითი | შედეგი |
|---|---|---|---|
> | მეტია? | 8 > 5 | true |
< | ნაკლებია? | 8 < 5 | false |
>= | მეტია ან ტოლი? | 5 >= 5 | true |
<= | ნაკლებია ან ტოლი? | 4 <= 3 | false |
=== | ტოლია? | 7 === 7 | true |
!== | განსხვავდება? | 7 !== 7 | false |
ყოველი შედარება კითხვაა, რომელზეც კომპიუტერი true-თი ან false-ით პასუხობს.
let age = 12;
console.log(age > 10);
console.log(age === 18);
console.log(age !== 18);age > 10კითხულობს: „12 მეტია 10-ზე?“. პასუხიაtrue.age === 18კითხულობს: „12 ტოლია 18-ის?“. პასუხიაfalse.age !== 18კითხულობს: „12 განსხვავდება 18-ისგან?“. პასუხიაtrue.
პასუხის შენახვა ცვლადში
შედარების შედეგი ჩვეულებრივი მნიშვნელობაა, ამიტომ მისი ცვლადში შენახვა შეიძლება. ასეთ ცვლადს ხშირად კითხვის მსგავს სახელს არქმევენ, რომელიც is-ით ან has-ით იწყება.
let score = 85;
let hasPassed = score >= 50;
console.log("ჩააბარა?", hasPassed);- კომპიუტერი ჯერ ითვლის მარჯვენა მხარეს:
85 >= 50არისtrue. trueინახება ცვლადშიhasPassed.- იბეჭდება
ჩააბარა? true.
სტრიქონების შედარებაც შეიძლება: "კატა" === "კატა" არის true, "კატა" === "ძაღლი" კი false.
სცადე თავად
გაუშვი. მერე შეცვალე score 30-ით და ნახე, როგორ შეიცვლება პასუხები. დაამატე ხაზი, რომელიც შეამოწმებს, არის თუ არა ქულა ზუსტად 100.
ხშირი შეცდომები
=შედარების ნაცვლად.score = 100არაფერს ადარებს: ის ქულას 100-ად აქცევს. შესადარებლად გჭირდება სამი ტოლობის ნიშანი:score === 100.trueბრჭყალებში."true"სტრიქონია, ოთხი ასოსგან შემდგარი ტექსტი, და არა ლოგიკური მნიშვნელობა. დაწერეtrueბრჭყალების გარეშე.- ნიშნების რიგის არევა. „მეტია ან ტოლი“ იწერება
>=, და არა=>. ჯერ შედარების ნიშანი, მერე ტოლობა. - რიცხვისა და სტრიქონის შედარება.
5 === "5"არისfalse: ერთი რიცხვია, მეორე ტექსტი.===ამოწმებს, რომ მნიშვნელობაც და ტიპიც ემთხვეოდეს.
სავარჯიშო
ატრაქციონზე დაიშვებიან ბავშვები, რომელთა სიმაღლე მინიმუმ 130 სანტიმეტრია. შექმენი ცვლადი height შენი სიმაღლით. შემდეგ შექმენი ცვლადი canRide, რომელშიც შეინახავ პასუხს კითხვაზე „დაიშვება?“. დაბეჭდე დაიშვება? და პასუხი.
💡 მინიშნება
„მინიმუმ 130“ ნიშნავს „130 ან მეტი“, ანუ ოპერატორი >=: let canRide = height >= 130;
✅ ამოხსნის ნახვა
let height = 142;
let canRide = height >= 130;
console.log("დაიშვება?", canRide);მინი-ქვიზი
1რამდენი შესაძლო მნიშვნელობა აქვს ლოგიკურ ტიპს?
ლოგიკური მნიშვნელობა ან ჭეშმარიტია, ან მცდარი. მესამე ვარიანტი არ არსებობს.
2რას დაბეჭდავს console.log(7 >= 7);?
>= ნიშნავს „მეტია ან ტოლი“. 7 ტოლია 7-ის, ამიტომ პასუხია true.
3რომელი ხაზი ამოწმებს, ტოლია თუ არა x ათის?
= მინიჭებაა და x-ს ათად აქცევს. შედარებისთვის სამი ტოლობის ნიშანია საჭირო.
შეჯამება
- ლოგიკურ მნიშვნელობას ორი ვარიანტი აქვს:
trueდაfalse. - შედარების ოპერატორები (
>,<,>=,<=,===,!==) ლოგიკურ მნიშვნელობას აბრუნებს. =მინიჭებაა,===შედარება.- შედარების შედეგი შეგიძლია ცვლადში შეინახო. პირობებში (
if) სწორედ ასეთ მნიშვნელობებს გამოიყენებ.