შესვლა

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

შედარება: ტოლია თუ არა

მარტივი⏱ 7 წთ+20 XP👑 Pro#შედარება#===#boolean

რას ისწავლი

  • ექვსი შედარების ოპერატორი და რას აბრუნებს თითოეული
  • რატომ ვიყენებთ ===-ს და არა ==-ს
  • როგორ ედარება ერთმანეთს სტრიქონები

კითხვა, რომელსაც პასუხი აქვს: კი ან არა

პროგრამები გამუდმებით სვამს კითხვებს: „მოთამაშემ 100 ქულა დააგროვა?“, „პაროლი სწორია?“. ასეთ კითხვას შედარების ოპერატორი (comparison operator) სვამს. მისი პასუხი ყოველთვის ლოგიკური მნიშვნელობაა: true ან false.

ოპერატორინიშნავსმაგალითიშედეგი
===ტოლია5 === 5true
!==არ არის ტოლი5 !== 3true
>მეტია5 > 3true
<ნაკლებია5 < 3false
>=მეტია ან ტოლი5 >= 5true
<=ნაკლებია ან ტოლი4 <= 3false
JavaScript
let age = 12;
console.log(age === 12);   // true
console.log(age !== 12);   // false
console.log(age > 10);     // true
console.log(age <= 11);    // false

შედარების შედეგი ჩვეულებრივი მნიშვნელობაა, ამიტომ შეგიძლია ცვლადში შეინახო: let isTeen = age >= 13;. შემდეგ მოდულში ასეთ მნიშვნელობებს გადაწყვეტილების მისაღებად გამოიყენებ.

ყურადღება მიაქციე, რომ შედარება ცვლადს არ ცვლის. age > 10 მხოლოდ კითხულობს age-ის მნიშვნელობას და პასუხს იძლევა, age კი ისევ 12 რჩება. შედარება კითხვაა და არა ბრძანება.

შედარებები ყველგანაა, სადაც პროგრამა რაღაცას ამოწმებს: საკმარისი ფული გაქვს თუ არა ყიდვისთვის, ჩაწერილი პაროლი ემთხვევა თუ არა შენახულს, მოთამაშემ რეკორდი ხომ არ მოხსნა. ყოველ ასეთ შემთხვევაში ორ მნიშვნელობას ადარებ და true-ს ან false-ს იღებ.

სამი ტოლობის ნიშანი

JavaScript-ში ტოლობის შესამოწმებლად ორი ოპერატორია: მკაცრი === და „რბილი“ ==. რბილი ტოლობა შედარებამდე ცდილობს, მნიშვნელობები ერთ ტიპზე მიიყვანოს, და ამიტომ ხანდახან მოულოდნელ პასუხს იძლევა:

JavaScript
console.log(5 == "5");    // true  — რიცხვი და ტექსტი „ტოლად“ ჩათვალა
console.log(5 === "5");   // false — რიცხვი და ტექსტი სხვადასხვაა
console.log(0 == "");     // true  — მოულოდნელია!
console.log(0 === "");    // false

მკაცრი === ადარებს ტიპსაც და მნიშვნელობასაც. ის ყოველთვის იმას აკეთებს, რასაც ელი, ამიტომ ამ კურსში მხოლოდ === და !== გამოიყენე.

სტრიქონების შედარება

სტრიქონები სიმბოლო-სიმბოლო, მარცხნიდან ედარება, როგორც სიტყვები ლექსიკონში. ქართული ასოები ანბანის რიგით ლაგდება:

JavaScript
console.log("ანა" < "ბექა");    // true:  „ა“ წინ არის „ბ“-ზე
console.log("კატა" === "კატა");  // true
console.log("Cat" === "cat");    // false: დიდი და პატარა ასო სხვადასხვაა
console.log("10" < "9");         // true:  „1“ წინ არის „9“-ზე!

ბოლო ხაზი ხაფანგია: ორივე მხარე ტექსტია, ამიტომ კომპიუტერი რიცხვებს კი არა, პირველ სიმბოლოებს ადარებს. რიცხვები რიცხვებად შეადარე, ბრჭყალების გარეშე. თუ რიცხვი ტექსტად მოგივიდა, მაგალითად ფორმის ველიდან, ჯერ რიცხვად გადააქციე. როგორ, ამას ამ მოდულის ბოლო თავში ისწავლი.

სცადე თავად

გაუშვი, მერე შეცვალე score-ის მნიშვნელობა ისე, რომ ყველა პასუხი შეიცვალოს.

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

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

  • = ნაცვლად ===-ისა. ერთი = მინიჭებაა და არა შედარება: age = 12 ცვლადს ცვლის. შედარებისთვის სამი ნიშანი გჭირდება.
  • => ნაცვლად >=-ისა. „მეტია ან ტოლი“ იწერება >=, ჯერ ნიშანი, მერე ტოლობა. => სულ სხვა რამეა და შეცდომას გამოიწვევს.
  • რიცხვები ბრჭყალებში. "10" < "9" იძლევა true-ს. თუ რიცხვს ადარებ, დარწმუნდი, რომ ის ტექსტი არ არის.

სავარჯიშო

ცვლადში temperature ინახება 25. დაბეჭდე სამი პასუხი წარწერებით: არის თუ არა ზუსტად 25, არის თუ არა 30-ზე მეტი და არის თუ არა სულ მცირე 18. უნდა დაიბეჭდოს true, false და true.

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

„სულ მცირე 18“ ნიშნავს „18 ან მეტი“, ანუ >=.

✅ ამოხსნის ნახვა
JavaScript
let temperature = 25;

console.log("ზუსტად 25:", temperature === 25);
console.log("30-ზე მეტი:", temperature > 30);
console.log("სულ მცირე 18:", temperature >= 18);

მინი-ქვიზი

1რას დაბეჭდავს console.log(7 >= 7);?

2რას დაბეჭდავს console.log(3 === "3");?

3რას დაბეჭდავს console.log("10" < "9");?

შეჯამება

  • შედარების ოპერატორები: ===, !==, >, <, >=, <=. შედეგი ყოველთვის true ან false-ა.
  • ტოლობისთვის გამოიყენე მკაცრი ===, რადგან რბილი == ტიპებს ურევს.
  • სტრიქონები ასო-ასო ედარება, ანბანის რიგით.
  • ერთი = მინიჭებაა, სამი === შედარება.
📝 ჩემი შენიშვნა