Pereiti prie turinio

JavaScript/Sąlygos operatorius

Iš Wikibooks.

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.