Page 42 - 6105
P. 42
Як і в АБО, в І допустимі будь-які значення:
if (1 && 0) {// обчислити як true && false
alert ( 'не спрацює, тому що умова помилкова');
}
Принцип «короткого циклу обчислень» для І. Якщо лівий аргумент - false,
оператор І повертає його і закінчує обчислення. Інакше - обчислює і повертає
правий аргумент.
Наприклад:
// Перший аргумент - true,
// Тому повертається другий аргумент
alert (1 && 0); // 0
alert (1 && 5); // 5
// Перший аргумент - false,
// Він і повертається, а другий аргумент ігнорується
alert (null && 5); // null
alert (0 && "байдуже"); // 0
Можна передати і кілька значень поспіль, при цьому повернеться перше
«хибне» (на якому зупинилися обчислення), а якщо його немає - то останнє:
alert (1 && 2 && null && 3); // null
alert (1 && 2 && 3); // 3
Отже, оператор && обчислює операнди зліва направо до першого
«хибного» і повертає його, а якщо всі хибні - то останнє значення.
Пріоритет у && більший, ніж у ||. Пріоритет оператора І && більший, ніж
АБО ||, так що він виконується раніше. Тому в наступному коді спочатку буде
обчислено праве І а вже потім - АБО:
1 && 0 = 0,.
alert (5 || 1 && 0); // 5
Оператор НЕ (!) - найпростіший. Він отримує один аргумент. Синтаксис:
41