Katika somo hili tutajifunza ulinganivu wa thamani (value) kwa kutumia logic operator. Somo hili ni muhiimu sana kwa wanaotarajia kujikita zaidi kwenye matumizi ya javascript.

 

Kwa wale wanaokumbuka hesabu hapa tutaangalia matumizi ya alama zifuatazo kwenye javascript. Alama hizo ni kama zinazoonyehswa hapo chini.

 

Kwa wale ambao tumepita shule zamani alama hizo zinamaanisha hivi

Pia kuna hizi

 

Hebu tuone maana yake kila moja wapo. Pia tutajifunza zaidi kila tutakavyokwenda mbele ya somo hili. kwa sasa tutajifunza kwa ufupi maana zake tu.

 

Tutatumia mifano kama ifuatavyo:-

  1. alama ya ==

Tunajuwa kuwa 4 sio sawa na 5. Sasa kama kweli tunataka itupe jibu la false. code hizo hapo chini zinamaanisha 4 ni sawa sawa na 5, ambapo ni uwongo yaani false. 

<script>

   let x = 4;

   let b = 5;

 

   //alama ya sawa sawa ==

   document.write( x == b)

</script>

 

Kwa kuwa 100 ni sawa sawa na 100 tunahitaji tuone majibu kuwa true yaani kweli

<script>

   let x = 100;

   let b = 100;

 

   //alama ya sawa sawa ==

   document.write( x == b)

</script>

 

 

  1. Alama ya ===

Katika mfano hapo chini 5 == ‘5’ hii ni true kwa kuwa thamani zao wote ni sawa ni 5.

<script>

   //alama ya sawa sawa ==

   document.write( 5 == '5')

</script>

Lakini 5===’5’ itatupa majibu false kwa sababu 5 ya kwanza ni namba na 5 ya pili ni string kwa sababu ipo ndani ya alama za string. Hivyo thamani zao ni saswa lakini aina zao sio sawa moja ni namba na nyingine ni string.

<script>

   //alama ya sawa sawa ==

   document.write( 5 === '5')

</script>

lakini hii 5===5 itatupa majibu ya true kwa sababu thamani zao ni sawa na zote ni data za aina moja yaani namba.

<script>

   //alama ya sawa sawa ==

   document.write( 5 === 5)

</script>

 

  1. Alama ya != (sio sawa na)

kwa kuwa 5 sio sawa na 2 basi code hii tunatarajia itupe jibu la true 5 !=2 kwa sababu alama != inamaanisha sio sawa na. Yaani 5!=2 ina maana 5 sio sawa na 2

<script>

   //alama ya !=

   document.write( 5 != 2)

</script>

Au 2 != 2 hii itatupa jibu false yaani sio kweli kwa sababu 2 ni sawa na 2.

<script>

   //alama ya !=

   document.write( 2 != 2)

</script>

  1. Alama ya !== (sio sawa kwa thamani au sio sawa kwa aina)

3 na 2 sio sawa kwa thamani hivyo 3 !== 2 itatupa jibu la true

<script>

   //alama ya !==

   document.write( 2 !== 3)

</script>

Lakini 2 !== ‘2’ hii pia itatupa jibu la true kwa sababu 2 sio sawa na ‘2’ kwani mbili ya kwanza ni namba na mbili ya pili ni shtring, ndio maana ipo kwenye alama za semi. 

<script>

   //alama ya !==

   document.write( 2 !== '2')

</script>

 

  1. Alama ya > (kubwa kuliko)

Nmambari 5 ni kubwa kuliko nambari 4 hivyo 5 > 4 ni swa hivyoitatupa jibu la true kwa kuwa alama > inamanisha kubwa kuliko

 <script>

   //alama ya >

   document.write( 5 > 4)

</script>

 

 

  1. Alama ya < (ndogo kuliko)

Nambari 5 ni kubwa kuliko 4 hivyo 5 <4 itatupa majibu false, kwa maana si kweli , kwani alama < inamaanisha ndogo kuliko. yaani 5 <4 inamaana 5 ni ndogo kuliko 4 kitu ambacho sio sahihi

<script>

   //alama ya <

   document.write( 5 < 4)

</script>

  1. Alama ya >= (kubwa kuliko au sawa sawa na)

nambari 5 eidha ni kubwa kuliko 4 au ni sawa na nne. Moja ya mambo haya mawili ni sawa hivyo 5 >= 4 itatupa jibu true, kwani moja wapo ya mambo mawili niliyiyasema ni sahihi.

<script>

   //alama ya >=

   document.write( 5 >= 4)

</script>

 

  1. Alama ya <= (ndogo kuliko au sawa sawa na)

Nambari 5 sio sawa na 4 na wala sio ndogo kuliko 4 hivyo 5 <= 4 itatupa majibu false yaani sio sawa, kwani eidha 5 sio ndogo kuliko 4 au sio sawa na 4.

<script>

   //alama ya >=

   document.write( 5 <= 4)

 

</script>

 

8. Alama ya ? (ternary operator)

Hii hutumika kwenye sentensi za masharti (logical conditions)

Mfano shule imeweka ufaulu ni alama 45 hivyo unataka program itueleze kama alama hizo ni zaidi ya 45 itupe majibu umefaulu vinginevyo umefeli

<script>

 

       //Conditional operator

       let ufaulu = 45

       let matokeo = (ufaulu > 50)?

           "Umepasi":"umefeli";

 

       document.write(matokeo);

  

</script>

 

 

  1. Alama yaani (AND)

lama && ina maana AND au na. Kwa mfano nambari 5 ni kubwa kuliko 3 na nambari 3 ni kupwa kuliko 2 hivyo basi 5> 3 && 3 >2 hii itatupa jibu true kwa ni kweli 5 >3 na 3 >2

<script>

   //alama ya <=

   document.write( 5 >3 && 3 >2)

 

</script>

  1. Alama || (OR)

alama hii ina maana au, yenyewe huangalia moja ya masharti yatakayowekwa kama sharti mojawapo likiwa true itakupa true ila yakiwa yote false itakupa false. Mfano 5 ni kubwa 5 > 3 || 3>2 hii itatupa true kwani ina maana eidha 5 ni kubwa kuliko 3 au 3 ni kubwa kuliko 2. Hii ni true 

<script>

   //alama ya <=

   document.write( 5 >3 || 3 >2)

 

</script>

lakini hata hii pia ni true 5 > 3 || 2>3 kwa sababu alama || ina maana au na huangalia kama japo moja ya masharti hayo moja ni kweli . sasa ni kweli 5 >3 lakini sio kweli kuwa 2> 3. ila kwa kuwa moja ya masharti ni true hapa itatupa true

<script>

   //alama ya <=

   document.write( 5 >3 || 2 >3)

 

</script>

 

  1. ! (LOGICAL NOT

Aalama hii kazi yake ni kubadili ukweli kuwa uongo na uongo kuwa ukweli. Mfano 3 ni kubwa kuliko 2 hivyo 3 >2 hii inatakiwa itupe true. Lakini tukitumia ! jibu litakuwa false  !(3 > 2 )

<script>

   //! logical not

   document.write(!(3 > 2 ));

 

</script>

 

Mwisho

Tukutane somo linalofuata tutajifunza kuhusu aina mbalimbali za data ambazo zinatumika kwenye javascript. Somo hili halitakuwa gumu kwani tayari tumeshaziona baadhi ya aina hizo za data kama namba na string.