назад до уроку

Питання про "if"

важливість: 5

Які з цих alert буде виконано?

Якими будуть результати виразів у if(...)?

if (-1 || 0) alert( 'перший' );
if (-1 && 0) alert( 'другий' );
if (null || -1 && 1) alert( 'третій' );

Відповідь: перший і третій виконаються.

Деталі:

// Виконається.
// Результат -1 || 0 = -1, правдивий
if (-1 || 0) alert( 'перший' );

// Не виконається
// -1 && 0 = 0, хибний
if (-1 && 0) alert( 'другий' );

// Виконається
// Оператор && має більший пріоритет, ніж ||
// тому -1 && 1 виконається першим, даючи нам послідовність:
// null || -1 && 1  ->  null || 1  ->  1
if (null || -1 && 1) alert( 'третій' );