JavaScript/Loginiai operatoriai

Iš Wikibooks.

JAVASCRIPT PROGRAMAVIMO PAGRINDAI
(instrukcinis vadovas pradedantiesiems)[keisti]

Loginiai operatoriai[keisti]


Loginiai operatoriai palygina Būlio tipo operandus (true ir false) ir grąžina Būlio tipo vertes. Jų yra trys: operatorius „ir“ (AND, ženklas &&), „arba“ (OR, ženklas ||) ir „priešingai“ (ženklas !).

Operatorius „ir“ palygina dvi Būlio vertes ir grąžina vertę true, jei abiejų operandų vertės yra true. Kitu atveju, jei nors viena operando vertė arba abi yra false, „ir“ grąžins vertę false.

Pavyzdys. Sakykime, turime skaičių 2. Jis yra didesnis už skaičių 0 (2>0, true) ir mažesnis už skaičių 10 (2<10, true). Operatorius „ir“, įvertinęs šiuos du palyginimus, grąžins Būlio vertę true. Tokia operacija yra vienas iš JS būdų užrašyti skaičiaus vertės buvimą tam tikrame intervale, šiuo atveju, tarp 0 ir 10.

Užduotis. Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokią Būlio vertę grąžins loginis operatorius „ir“ (ženklas &&):

  • 2>3 && 10<5;
  • 2<3 && 13>-18;
  • 4>=4 && 5===5;
  • 10<=4 && 3!="b";

Teisingus atsakymus pasitikrinkite konsolėje.

Operatorius „arba“ palygina dvi Būlio vertes ir grąžina vertę true, jei bent viena arba abi operandų vertės yra true. Kitu atveju, jei abi yra false, „arba“ grąžins vertę false.

Užduotis. Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokią Būlio vertę grąžins loginis operatorius „arba“ (ženklas ||):

  • 2>3 || 10<5;
  • 2<3 || 13>-18;
  • 4>=4 || 5===5;
  • 10<=4 || 3!="b";

Teisingus atsakymus pasitikrinkite konsolėje.

Operatorius „priešingai“ (ženklas !) apverčia Būlio vertę. Tai yra, jei vertė yra true, ji paverčiama false, ir atvirkščiai.

Pavyzdys. Sakykime, turime skaičių ekspresiją 10<100 || 10>1. Abu operandai operatoriaus „arba“ abiejose pusėse grąžina true vertę ir jas įvertinęs operatorius „arba“ grąžina true. Jei šią ekspresiją apskliausime ir prieš ją įvesime operatorių „priešingai“, jos vertė pasikeis į false. Pasitikrinkite konsolėje:

  • 10<100;
  • 10>1;
  • 10<100 || 10>1;
  • !(10<100 || 10>1);

Loginiai operatoriai atlieka operacijas tik su Būlio tipo operandais. Jei vienas arba abu operandai nebus Būlio tipo vertės, JS bandys automatiškai pakeisti jas į Būlio. Automatinis duomenų tipų keitimas aptartas vėlesniame skyriuje.