Page 37 - 6105
P. 37
alert (access);
Оператор знак '?' дозволяє робити це коротше і простіше.
Він складається з трьох частин:
умова? значення1: значення2
Перевіряється умова, потім якщо вона вірна - повертається значення1, якщо
невірно - значення2, наприклад:
access = (age> 14)? true: false;
Оператор '?' виконується пізніше більшості інших, зокрема - пізніше
порівнянь, тому дужки можна не ставити:
access = age> 14? true: false;
Але коли дужки є - код краще читається. Так що рекомендується їх писати.
Знак питання - єдиний оператор, у якого є аж три аргументи, в той час як у
звичайних операторів їх один-два. Тому його називають «тернарний оператор».
Послідовність операторів '?' дозволяє повернути значення залежно не від
однієї умови, а від кількох.
Наприклад:
var age = prompt ( 'вік?', 18);
var message = (age <3)? 'Привіт, малюк!' :
(Age <18)? 'Вітання!' :
(Age <100)? 'Вітаю!' :
'Який незвичайний вік!';
alert (message);
Знак питання перевіряє спочатку age <3, якщо вірно - повертає 'Привіт,
малюк!', Якщо немає - йде за двокрапку і перевіряє age <18. Якщо це вірно -
повертає 'Привіт!', Інакше перевірка age <100 і 'Привіт! '... І нарешті, якщо
нічого з цього не вірно, то виведе 'Який незвичайний вік! '.
Те ж саме через if..else:
36