Часто в программировании встречаются случаи, когда нужно выполнить действие по какому-то условию. Тут на помощь приходят операторы ''if'' и ''switch''. ====== Немного про условия ====== Используются не только в ветвлениях, но и в циклах, а также можно записать в переменную. ===== Типы условий ===== Их всего два: * Ложными считаются те, что имеют значения: * ''false'', * Число ''0'', * Пустая строка ''""'', * ''null'', * ''NaN'', * ''undefined''; * Правдивые (истинные) - значения этих условий после вычисления равны: * ''true'', * число, не равное нулю, * не пустая строка и др. ===== Сравнение значений ===== Очень хорошо, что в JavaScript можно сравнивать значение переменных (или просто каких-то значений, что бессмысленно), ведь это очень часто пригождается на практике. Тут знаки такие же, как и в математике (не считая некоторых): * ''<'' - меньше; * ''>'' - больше; * ''<='' - меньше или равно; * ''>='' - больше или равно; * ''=='' - простое сравнение. Сравнивает значения. //Такие выражения, как// ''1 == "1"'' будут "правдивыми", так как тут происходит преобразование типов. **Следует быть внимательным к таким моментам, бывает сложно найти ошибку в коде при таком сравнении**; * ''==='' - строгое сравнение. Сравнивается как значение, так и тип. То есть ''null'' не будет равен ''undefined'' (разный тип данных), ''0'' не будет равен ''false'' и так далее. ===== Логические операторы для условий ===== * ''!'' - логическое НЕ, которая инвертирует (меняет на противоположное) значение. 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; }