JavaScript logikai változó (JS boolean magyarul)
Ebben a leckében megismerkedünk a JavaScript logikai változójával, a boolean-nel.
Mi az a logikai változó?
A logikai változónak (a programozás során boolean-nek hívjuk) két lehetséges értéke van: igaz és hamis. A programozás során nagyon sokszor szükségünk van rá, hogy valamiről eldöntsük, hogy igaz-e vagy hamis. Általában elágazások készítése során szoktuk felhasználni, más ágon haladunk tovább, ha igaz értéket ad vissza a vizsgálat és más ágon, ha hamis értéket.
Olyan esetekben szoktunk logika változókat használni, amikor valamilyen olyan adatot kell tárolnunk, ami mindenképp csak két értéket vehet fel. (Külön-külön, nem egyszerre.)
Mik lehetnek ezek az értékek?
- igen / nem (például be van-e kattintva egy gomb vagy sem)
- on / off (például engedélyezve van-e egy funkció vagy sem)
- 0 / 1 (például bináris feladatok esetében)
- igaz / hamis (például teljesült-e valamelyik előfeltétel vagy sem)
Példa feladatok logikai változó használatra:
- vizsgáljuk meg, hogy a beírt szám osztható-e kettővel
- a weboldalra belépni szándékozó személy elmúlt-e 18 éves
- a weboldalt használni kívánó személy elfogadta-e az adatkezelési tájékoztatót
- 5 nagyobb-e, mint 3?
- a felhasználó kitöltötte-e az összes kötelező mezőt?
Boolean változó létrehozása
Mint ahogy már tanultunk róla a JavaScript-ben egy változó létrehozásakor nem kell megadni a típusát, elegendő csak az általános változó deklaráló kulcsszavak (var, let, const) egyikét használni. Attól fogja tudni a programunk, hogy ez egy logikai változó, hogy felveszünk neki egy „true” vagy „false” értéket. Melyből egyértelműen következik, hogy egy logikai változóval van dolgunk.
Szintaktika
var/let/const = true/false;
Code language: JavaScript (javascript)
Teljesen mindegy, hogy „true”-val vagy „false”-szal kezdünk, ezt általában a készítendő program igényei szerint döntjük el.
Példa
JavaScript kód
var igaz: <span id="igazP"></span><br>
var hamis: <span id="hamisP"></span><br>
<button onclick="logikai()">Értékek kiíratása</button>
<script>
function logikai()
{
var igaz = true;
var hamis = false;
document.getElementById("igazP").innerHTML = igaz;
document.getElementById("hamisP").innerHTML = hamis;
}
</script>
Code language: HTML, XML (xml)
Eredmény
var igaz:var hamis:
>> Próbáld ki ezt a kódot az online weboldal szerkesztőnkben. <<
Logikai érték megváltoztatása
Sok esetben történik olyan, hogy egy már felvett logikai változó értékét meg kell változtatnunk az ellenkezőjére, azaz igazról hamisra vagy hamisról igazra. Ezt nagyon egyszerűen megtehetjük az alábbi kóddal:
var igaz = true;
var hamis = false;
//tetszőleges kódok
igaz = false;
hamis = true;
Code language: JavaScript (javascript)
Azaz simán megtehetjük azt, hogy ha tisztában vagyunk a jelenlegi értékkel, akkor szimplán felülírjuk az ellenkezőjével. De vannak olyan esetek, amikor nem arra van szükségünk, hogy például igazból hamist csináljunk, hanem arra, hogy valamiből az ellentettjét. Persze írhatnánk elágazásokat, amellyel vizsgálnánk a jelenlegi értéket, majd attól függően módosítanánk az egyikről a másikra, de az sok munkával járna. Van ennél egy sokkal gyorsabb és egyszerűbb megoldás is.
Szintaxis
VALTOZONEV = !VALTOZONEV;
A változónkat felülírjuk a negáltjával, amelyet a felkiáltójellel fejezünk ki. Mivel egy boolean csak két lehetséges értéket vehet fel (igazat és hamisat), így a negáltja minden esetben a jelenlegi értékének az ellentettje lesz.
Példa
JavaScript kód
logikaiErtek előtte: <span id="elotte"></span><br>
logikaiErtek utána: <span id="utana"></span><br>
<button onclick="logikai()">Értékek kiíratása</button>
<script>
function logikai()
{
var logikaiErtek = true;
document.getElementById("elotte").innerHTML = logikaiErtek;
logikaiErtek = !logikaiErtek;
document.getElementById("utana").innerHTML = logikaiErtek;
}
</script>
Code language: HTML, XML (xml)
Eredmény
logikaiErtek előtte:logikaiErtek utána:
>> Próbáld ki ezt a kódot az online weboldal szerkesztőnkben. <<
Logikai értékek vizsgálata
A logikai (boolean) értékek vizsgálatára több lehetőség is van, az egyik az, amikor egy elágazás, például if vagy switch során vizsgáljuk, a másik pedig a beépített Boolean() függvény. Mi ebben a cikkben csak az utolsóval fogunk foglalkozni, hiszen az előzőt már több cikken keresztül is tüzetesen tárgyaltuk.
Boolean() függvény szintaxis
Boolean(VIZSGÁLAT)
Code language: JavaScript (javascript)
Példa
JavaScript kód
<script>
var igaz = true;
var hamis = false;
</script>
<button onclick="alert(Boolean(3<9));">3<9</button>
<button onclick="alert(Boolean(igaz));">igaz</button>
<button onclick="alert(Boolean(hamis));">hamis</button>
<button onclick="alert(Boolean(!hamis));">negált hamis</button>
Code language: PHP (php)
Eredmény
>> Próbáld ki ezt a kódot az online weboldal szerkesztőnkben. <<
Összehasonlító és logikai operátorok
Alább láthatók a leggyakoribb összehasonlító operátorok, melyek segítségével különböző értékeket hasonlíthatunk meg, melyekre válaszul igaz vagy hamis logikai választ kaphatunk.
Operátor | Példa | Eredmény | Leírás |
---|---|---|---|
== | 5 == 5 | igaz | egyenlő-e a két érték |
!= | 5 != 5 | hamis | nem egyenlő |
> | 5 > 2 | igaz | nagyobb-e |
< | 5 < 2 | hamis | kisebb-e |
>= | 5 >= 2 | igaz | nagyobb vagy egyenlő |
<= | 5 <= 2 | hamis | kisebb vagy egyenlő |
Most pedig jöjjenek a logikai operátorok, melyek abban segítenek számunkra, hogy több kifejezést, feltételt tudjunk egyszerre vizsgálni.
Operátor | Leírás |
---|---|
&& | LOGIKAI ÉS (mindegyik feltétel igaz) |
|| | LOGIKAI VAGY (legalább az egyik feltétel igaz) |
! | LOGIKAI NEM (a feltétel nem igaz) |
Ezeket úgy kell értelmezni, hogy a „LOGIKAI ÉS” csak és csakis akkor ad vissza igaz értéket, ha az összes vizsgált feltétel igaz, míg a „LOGIKAI VAGY” már akkor igaz értéket ad vissza, ha az összes vizsgált feltétel közül legalább az egyik igaz.
A teljes lista ennél sokkal hosszabb, szóval a különböző operátorokról itt olvashatsz.
Változók vizsgálata
Fontos tudnunk, hogy bármilyen változót, ha vizsgálunk és a változónak van értéke, akkor az minden esetben igaz értéket fog visszaadni. Természetesen ez alól kivétel a boolean. Az előző megállapításunkból következik az az állítás, hogy minden változó, amelynek nincs értéke, az hamis logikai értéket fog visszaadni.