Содержание

Часто в программировании встречаются случаи, когда нужно выполнить действие по какому-то условию. Тут на помощь приходят операторы if и switch.

Немного про условия

Используются не только в ветвлениях, но и в циклах, а также можно записать в переменную.

Типы условий

Их всего два:

Сравнение значений

Очень хорошо, что в JavaScript можно сравнивать значение переменных (или просто каких-то значений, что бессмысленно), ведь это очень часто пригождается на практике. Тут знаки такие же, как и в математике (не считая некоторых):

Логические операторы для условий

console.log(!false);  // Выведет true
console.log(false || false);  // Будет ложным, оба значения false
console.log(false || true);   // Будет истина, есть одно true
console.log(true || false);   // Будет истина, есть одно true
console.log(true || true);    // Будет истина
console.log(false && false);  // Будет ложным, оба значения false
console.log(false && true);   // Будет ложным, есть одно false
console.log(true && false);   // Будет ложным, есть одно false
console.log(true && true);    // Будет истина

Операторы if и else

Вычисляет условие внутри круглых скобок и, если значение условия является «правдивым», выполняет действия внутри блока (фигурных скобок):

if (условие) // Какое-то однострочное действие
 
// или
 
if (условие) {
    // Какие-то действия, которые выполнятся, если условие окажется правдивым
}
Использование фигурных скобок не обязательно, но желательно. Повышает читаемость кода и вашу самооценку :-)

Бывают случаи, когда условие принимет и «ложные» значения, и нужно выполнить действие:

if (условие) {
    // Тут код выполнится, если условие "правдивое"
} else {
    // А здесь код выполнится, если условие оказалось "ложным"
}

Также можно добавить еще и промежуточные условия, которые будут выполнятся, если предыдущее оказалось «ложным»:

if (условие1) {
    // Тут код выполнится, если условие1 "истинное"
    } else if (условие2) {
    // Вот тут код выполнится, если условие1 - "ложное", а условие2 - "правдивое"
} else {
    // Ну а тут, если все условия выше "ложные"
}

Оператор switch

Очень похож на if, принимает переменную и сравнивает её значение со значением после оператора case. Если ни одно из значений после case не равно значению переменной, то выполнится действие после оператора default.

Внимание: что если не поставить break, то выполнятся все действия ниже, до следующего break в блоке или до конца блока switch
switch переменная {
    case значение1:
        ...                                                                                                                   
        break;
    case значение2:
        ...
        break;
    default:
        ...
        break;
}