JavaScript/Palyginimo operatoriai: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
SNėra keitimo santraukos
4 eilutė:
<div style="background-color:#f7f5e9; text-indent: 32px; font-size: 1rem">
<p>Palyginimo operatoriai palygina operandus ir grąžina Būlio tipo vertes. Kai kurie jų turėtų būti jums žinomi iš vid. mokyklos matematikos kurso. Tai palyginimai: „mažiau“ (ženklas <), „daugiau“ (>), „mažiau arba lygu“ (<=), „daugiau arba lygu“ (>=), „lygu“ (==), „nelygu“ (!=) „griežtai lygu“ (===), „griežtai nelygu“ (!==). Operatoriai palygina operandą savo kairėje su operandu savo dešinėje.</p>
*<p><span style="background-color: #f3ef7b; border-radius:8px; padding-left:12px; padding-right:12px; padding-top:2px; padding-bottom:2px;">Užduotis.</span> Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokią Būlio vertę gražins palyginimo operatoriai:</p>
<div style="font-family:monospace">
** 2>3; // ar skaičius 2 didesnis už skaičių 3?
** 2<>3; // ar skaičius 2 mažesnisdidesnis už skaičių 3?
** 4>=42<3; // ar skaičius 42 didesnismažesnis už skaičių 4 arba jam lygus3?
** 10<4>=4; // ar skaičius 104 mažesnisdidesnis už skaičių 4 arba jam lygus?
** 2>310<=4; // ar skaičius 210 didesnismažesnis už skaičių 3arba jam lygus?
</div>
<p>Atsakymus galite pasitikrinti konsolės eilutėse surinkę ekspresijas ir po kiekvienos nuspaudę 'Enter'.</p>
<p>Keletas kitų operandų jums turėtų būti negirdėti ir šioje vietoje JS kalba pradeda išsiskirti nuo įprastos matematikos, nes JS kalboje lygybės ženklas = nereiškia lygybės.</p>
<p>Atsiminkim, kad duomenys JS apibūdinami jų tipu ir verte. Tad operandus tarpusavyje galima palyginti pagal jų tipą ir vertę.</p>
<p>Operatorius, kuris palygina operandų vertes, bet nelygina jų tipų, vadinamas negriežtos lygybės operatoriumi ir žymimas ==. Jam atvirkščias negriežtos nelygybės operatorius žymimas !=.</p>
*<p><span style="background-color: #f3ef7b; border-radius:8px; padding-left:12px; padding-right:12px; padding-top:2px; padding-bottom:2px;">Užduotis.</span> Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokią Būlio vertę gražins palyginimo operatoriai:</p>
<div style="font-family:monospace">
** 2==3; // ar skaičiaus 2 vertė lygi skaičiaus 3 vertei neatsižvelgiant į operandų tipą?
** 2=="2"3; // ar skaičiaus 2 vertė lygi tekstoskaičiaus "2"3 vertei neatsižvelgiant į operandų tipą?
** 2!=3="2"; // ar skaičiaus 2 vertė nelygilygi skaičiausteksto 3"2" vertei neatsižvelgiant į operandų tipą?
** 2=!=3; // ar skaičiaus 2 vertė lyginelygi skaičiaus 3 vertei neatsižvelgiant į operandų tipą?
</div>
<p>Teisingus atsakymus pasitikrinkite konsolėje.</p>
<p>Jūs tikriausiai nustebsite pamatę, kad 2=="2" atveju konsolė grąžino atsakymą ''true''. Bet čia pasireiškė viena JS savybė – automatinis duomenų tipo pakeitimas. Šiuo atveju JS atpažino, kad tekstas "2" (''string'' tipas) slepia galimą skaičių 2 (''number'' tipas) ir automatiškai jį pakeitė į skaičių (''number''), o po to palygino su skaičiumi 2 ir grąžino atsakymą, Būlio vertę ''true''.</p>
eilutė 22 ⟶ 26:
 
<p>Paskutiniai palyginimo operatoriai yra griežtos lygybės operatorius === ir jam priešingas griežtos nelygybės operatorius !==. Jie lygina ir operandų vertę, ir tipą, tad operacija 2==="2" grąžins vertę ''false'', nes griežtos nelygybės operatorius įvertins operandų tipų skirtumą.</p>
*<p><span style="background-color: #f3ef7b; border-radius:8px; padding-left:12px; padding-right:12px; padding-top:2px; padding-bottom:2px;">Užduotis.</span> Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokią Būlio vertę grąžins palyginimo operatoriai:</p>
<div style="font-family:monospace">
** 2===3; // ar skaičiaus 2 vertė ir tipas lygūs skaičiaus 3 vertei ir tipui atitinkamai?
** 2==="2"3; // ar skaičiaus 2 vertė ir tipas lygūs tekstoskaičiaus "2"3 vertei ir tipui atitinkamai?
** 2!==3="2"; // ar skaičiaus 2 vertė ir tipas nelygūslygūs skaičiausteksto 3"2" vertei ir tipui atitinkamai?
** 2=!==3; // ar skaičiaus 2 vertė ir tipas lygūsnelygūs skaičiaus 3 vertei ir tipui atitinkamai?
</div>
<p>Teisingus atsakymus pasitikrinkite konsolėje.</p>