პროგრამირების საფუძვლები › დამწყები › ოპერატორები და გამოსახულებები
და, ან, არა
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- როგორ აერთებს
&&(„და“) და||(„ან“) ორ პირობას - როგორ აბრუნებს
!(„არა“) პასუხს საპირისპიროდ - როგორ შეამოწმო, არის თუ არა რიცხვი 1-დან 10-მდე
ერთზე მეტი პირობა
ცხოვრებაში გადაწყვეტილება ხშირად რამდენიმე პირობაზეა დამოკიდებული. „კინოში შეხვალ, თუ 12 წლის ხარ და ბილეთი გაქვს.“ „დასვენებაა, თუ დღეს შაბათია ან კვირა.“ კოდში ასეთ პირობებს ლოგიკური ოპერატორები (logical operators) აერთებს.
a && b(„a და b“) true-ა, როცა ორივე true-ა.a || b(„a ან b“) true-ა, როცა ერთი მაინც true-ა.!a(„არა a“) true-ა, როცა a არის false.
let age = 13;
let hasTicket = true;
console.log(age >= 12 && hasTicket); // true
let day = "კვირა";
console.log(day === "შაბათი" || day === "კვირა"); // true
let isRaining = false;
console.log(!isRaining); // trueდა (&&)
&& მკაცრია: შედეგი true-ა მხოლოდ მაშინ, როცა ორივე მხარე true-ა. თუ ერთი მაინც false-ა, მთელი გამოსახულება false-ა.
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // falseან (||)
|| დამთმობია: საკმარისია, ერთი მხარე იყოს true. შედეგი false-ა მხოლოდ მაშინ, როცა ორივე მხარე false-ა. ნიშანი | კლავიატურაზე Enter-ის ზემოთ არის, Shift-თან ერთად.
console.log(true || false); // true
console.log(false || false); // falseარა (!)
! ერთ მნიშვნელობაზე მუშაობს და მას აბრუნებს: !true არის false, !false არის true. ის მოსახერხებელია, როცა ცვლადი „დადებითად“ ჰქვია და შენ საპირისპირო გაინტერესებს: !isRaining ნიშნავს „არ წვიმს“.
რიცხვი შუალედში
ძალიან ხშირი ამოცანაა: არის თუ არა რიცხვი რაღაც საზღვრებში? ამისთვის ორი შედარება &&-ით შეაერთე:
let x = 7;
console.log(x >= 1 && x <= 10); // true: 7 არის 1-დან 10-მდეროცა && და || ერთად გიწერია, ჯერ && სრულდება, როგორც გამრავლება შეკრებამდე. ნუ დაეყრდნობი ამ წესს: ფრჩხილები ჩასვი და კოდი ყველასთვის გასაგები იქნება.
სცადე თავად
შეცვალე age და hasTicket ისე, რომ შედეგი false გახდეს. რამდენი გზა იპოვე?
ხშირი შეცდომები
1 <= x <= 10. მათემატიკაში ასე წერენ, მაგრამ კოდში ეს ჯერ ითვლის1 <= x-ს (trueანfalse), მერე კი ამ შედეგს 10-ს ადარებს და თითქმის ყოველთვისtrue-ს იძლევა. სწორიაx >= 1 && x <= 10.day === "შაბათი" || "კვირა". ეს არ ამოწმებს, არის თუ არა დღე კვირა.||-ის ორივე მხარე სრული შედარება უნდა იყოს:day === "შაბათი" || day === "კვირა".- ერთი
&ან ერთი|. „და“ ორი ნიშნით იწერება:&&. „ან“ ასევე ორით:||.
სავარჯიშო
ატრაქციონზე შეიძლება, თუ სიმაღლე სულ მცირე 120 სმ-ია და ბავშვი 8 წლისაა ან მშობელთან ერთადაა. ცვლადებია height = 125, age = 7, withParent = true. შექმენი ცვლადი canRide და დაბეჭდე. შედეგი უნდა იყოს true.
💡 მინიშნება
ასაკის ან მშობლის პირობა ფრჩხილებში ჩასვი: height >= 120 && (age >= 8 || withParent).
✅ ამოხსნის ნახვა
let height = 125;
let age = 7;
let withParent = true;
let canRide = height >= 120 && (age >= 8 || withParent);
console.log("შეუძლია:", canRide);მინი-ქვიზი
1რას უდრის true && false?
&&-ს ორივე მხარე true უნდა ჰქონდეს. აქ ერთი false-ა.
2რას უდრის false || true?
||-ს საკმარისია ერთი true.
3რას დაბეჭდავს კოდი? let x = 15; console.log(x >= 1 && x <= 10);
15 მეტია 1-ზე, მაგრამ არ არის 10-ზე ნაკლები ან ტოლი. &&-ს ორივე პირობა სჭირდება.
შეჯამება
&&(„და“) true-ა, როცა ორივე მხარე true-ა.||(„ან“) true-ა, როცა ერთი მხარე მაინც true-ა.!(„არა“) მნიშვნელობას აბრუნებს.- შუალედი ასე მოწმდება:
x >= 1 && x <= 10. რთულ პირობაში ფრჩხილები ჩასვი.