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>
<div style="font-family:monospace">
** 2>3; // ar skaičius 2 didesnis už skaičių 3?▼
</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>
<div style="font-family:monospace">
** 2==3; // ar skaičiaus 2 vertė lygi 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>
<div style="font-family:monospace">
** 2===3; // ar skaičiaus 2 vertė ir tipas lygūs skaičiaus 3 vertei ir tipui atitinkamai?▼
</div>
<p>Teisingus atsakymus pasitikrinkite konsolėje.</p>
|