JavaScript/Sąlygos operatorius

JAVASCRIPT PROGRAMAVIMO PAGRINDAI
(instrukcinis vadovas pradedantiesiems) keisti

Sąlygos operatorius keisti


Sąlygos operatorius JS yra tiktai vienas ir tai vienintelis operatorius, kuris veikia su trimis operandais. Sąlygos ekspresija schematiškai atrodo taip: „sąlygos_vertė“ ? „rezultatas_1“ : „rezultatas_2“.

Sąlygos operatorius patikrina „sąlygos_vertė“ Būlio vertę ženklo „?“ kairėje, ar ji yra true, ar false? Jei ji true, sąlygos operatorius grąžina „rezultatas_1“ už „?“ (klaustuko) ženklo. Jei ji yra false, salygos operatorius grąžina „rezultatas_2“ už „:“ (dvitaškio) ženklo.

Kitaip, sąlygos operatorius patikrina Būlio vertę dalyje „sąlygos_vertė“. Po to, priklausomai nuo jos (true arba false), grąžina vieną iš „rezultatas_1“ : „rezultatas_2“ duomenų: „rezultatas_1“ true atveju, „rezultatas_2“ false atveju.

Pavyzdys. Sakykime, turime sąlygos ekspresiją:

  • 5<10 ? "Sąlygos vertė yra true" : "Sąlygos vertė yra false"

Ar skaičius 5 mažesnis už skaičių 10? Taip. Reiškia sąlygos Būlio vertė yra true. Tuomet sąlygos operatorius grąžins duomenį už „?“ ženklo: tekstą "Sąlygos vertė yra true". Jei apversime sąlygos ekspresiją: !(5<10), jos Būlio vertė taps false ir sąlygos operatorius grąžins duomenį už „:“ ženklo: tekstą "Sąlygos vertė yra false".

Pasitikrinkite tai konsolėje:

  • 5<10;
  • 5<10 ? "Sąlygos vertė yra true" : "Sąlygos vertė yra false";
  • !(5<10) ? "Sąlygos vertė yra true" : "Sąlygos vertė yra false";

Užduotis. Susipažinkite su šiomis ekspresijomis ir savarankiškai atsakykite, kokį duomenį grąžins sąlygos operatorius.

  • 100===100 ? 100 : 200;
  • 100!==100 ? "TAIP" : "NE";
  • 15>=15 ? 15 : 0;

Teisingus atsakymus pasitikrinkite konsolėje.

Jei sąlygos vertė nebus Būlio tipo, JS automatiškai bandys pakeisti ją į Būlio. Automatinis duomenų tipų keitimas yra aptartas vėlesniame skyriuje.