JavaScript - Vertailu - totuusarvo

VERTAILU

Vertailun tuloksena saadaan totuusarvo eli tutkitaan onko jokin asia totta vai ei ole totta. Ohjelmoinnissa termeinä käytetään totta (true) ja epätosi (false).
Esimerkki:

 Onko 4 euroa yhtäsuuri kuin kahdeksan 50 centin kolikkoa ?

Vertailu-lauseiden tuloksen perusteella voidaan suorittaa jokin asia tai tehtävä. Suoritettavia asioita ja tehtäviä voi olla useitakin.

Esimerkin taulukossa vertaillaan annettuja arvoja numeroon 7, eli x = 7.

Operaattori Selite Vertailu esimerkki Tulos
== Yhtäsuuri x == 9 epätosi (false)
x == 7 tosi (true)
x == "7" tosi (true)
=== Yhtäsuuri ja saman tyyppinen x === 7 tosi (true)
x === "7" epätosi (false)
!= Eri suuri x != 9 tosi (true)
!== Eri suuri tai eri tyyppinen x !== 7 epätosi (false)
x !== "7" tosi (true)
x !== 6 tosi (true)
> Suurempi kuin x > 9 epätosi (false)
< Pienempi kuin x < 9 tosi (true)
>= Suurempi tai pienempi x >= 9 epätosi (false)
<= Pienempi tai yhtäsuuri x <= 9 tosi (true)

Miten vertailu tapahtuu ?

Esimerkissä periaate jolla tutkitaan onko ikä 17 pienempi kuin 18:


  ikä = 17
  jos (ikä < 18)
   näytä teksti "Ikä alle 18"
  

Esimerkki eräästä kikasta tutkia onko äänestysikäinen, 18 tai vanhempi:

Anna ikäsi ja klikkaa Tutki-painiketta:


Äänestys-esimerkin koodaus:


  <p> Anna ikäsi ja klikkaa Tutki-painiketta: </p>
  
  <input id="ika" value="18" />
  
  <button onclick="tutkiIka()"> Tutki </button>
  
  <p id="demo"></p>
  
  <script>
   function tutkiIka() {
    var ika, tulos;
    ika = document.getElementById("ika").value;
    tulos = (ika < 18) ? "Et ole":"Olet";
    document.getElementById("demo").innerHTML = tulos + " äänestysikäinen.";
   }
   </script>
  

Loogiset operaattorit

Loogisilla operaattoreilla voidaan yhdistellä vertailuja, esimerkiksi:

 Onko 4 pienempi kuin 5 TAI kolme yhtäsuuri kuin 3 ?

Taulukossa on esitelty loogiset operaattorit ja esimerkit kun x = 9 ja y = 6:

Operaattori Merkitys Esimerkki Totuusarvo
&&AND (JA) (x < 11 && y > 1) tosi (true)
||OR (TAI) (x == 7 || y == 7) epätosi (false)
! NOT !(x == y) tosi (true)

Eri tyyppisten arvojen tutkiminen

Taulukossa on esimerkkejä eri tyyppiä olevien arvojen totuusarvoista:

Tutkittava Totuusarvo Tutkittava Totuusarvo
3 < 11 tosi (true) 3 < "11" tosi (true)
6 < "Sauli"epätosi (false) 6 > "Sauli"epätosi (false)
2 == "Anne"epätosi (false) "2" < "12" epätosi (false)
"2" > "12" tosi (true) "2" == "12"epätosi (false)

Esimerkki, toinen tapa tutkia onko äänestysikäinen, 18 tai vanhempi:

Anna ikäsi ja klikkaa TUTKI-painiketta:


Esimerkin koodaus:


  <p>Anna ikäsi ja klikkaa TUTKI-painiketta:</p>

  <input id="ika2" value="18" />

  <button onclick="tutkiIka2()"> TUTKI </button>

  <p id="esille"></p>

  <script>
   function tutkiIka2() {
    var ika2, tulos2;
    ika2 = Number(document.getElementById("ika2").value);
    if (isNaN(ika2)) {
      tulos2 = "Antamasi tieto ei ole numero !";
    } else {
      tulos2 = (ika2 < 18) ? "Liian nuori" : "Riittävän ikäinen";
    }
    document.getElementById("esille").innerHTML = tulos2;
   }
  </script>