Логические условия

Условие — это проверка чего-либо. Условия очень важны в программировании, по нескольким причинам.

Во-первых, все условия могут быть использованы для того, чтобы ваша программа работала, независимо от того, какие данные вы обрабатываете. Если вы слепо доверяете данным, то можете попасть в беду и ваши программы перестанут работать. Если вы делаете проверку на то, возможно ли сделать требуемое, проверку, что вся необходимая информация хранится в правильном формате — то что бы ни случилось, ваша программа будет намного устойчивей. Такие меры предосторожности также известны как безопасное программирование.

Во-вторых, условия позволяют вам делать ветвления. Вы, возможно, уже сталкивались с диаграммами ветвления, например, при заполнении форм. В основном, это относится к выполнению разных «ветвей» (частей) кода, в зависимости от того, выполняется условие или нет.

Условие if

Это самое простейшее условие и вот его синтаксис — if(условие){ выполнить… }. Для условия, которое истинно, будет выполнен код внутри фигурных скобок. Вы можете, к примеру, проверить строку и установить значение другой строки в зависимости от её значения:

var country = 'Франция';
var weather;
var food;
var currency;
  
if(country === 'Англия') {
  weather = 'ужасная';
  food = 'сытная';
  currency = 'фунты стерлингов';
}
  
if(country === 'Франция') {
  weather = 'хорошая';
  food = 'потрясающая, но не всегда вегетарианская';
  currency = 'маленькая, смешная и цветная';
}
  
if(country === 'Германия') {
  weather = 'средняя';
  food = 'лучшие колбаски';
  currency = 'маленькая, смешная и цветная';
}
  
var message = 'это ' + country + ', погода ' +
            weather + ', еда ' + food + ' и ' +
            'валюта ' + currency;

Условия могут вкладываться друг в друга.

Else

Существует также оператор else, который будет применяться, если первое условие не является истиной. Это очень мощная штука когда вам нужно реагировать на любое значение, но одно из них требует специальной обработки:

var umbrellaMandatory;

if(country === 'Англия'){
  umbrellaMandatory = true;
} else {
  umbrellaMandatory = false;
}

Оператор else можно ещё соединять с другим if. Давайте переделаем предыдущий пример:

if(country === 'Англия') {
  ...
} else if(country === 'Франция') {
  ...
} else if(country === 'Германия') {
  ...
}

Сравнение

Давайте сосредоточимся на следующем условии:

if(country === 'Франция') {
  ...
}

Условие состоит из переменной country, за которой идут три знака равенства (===). Этот оператор проверяет, что в переменной country хранится правильное значение (Франция), а также правильный тип (строка). Вы также можете проверить условия с двумя знаками равенства, однако такое условие как if(x==5) одинаково вернёт true для var x=5 и для var x="5". В зависимости от того, что ваша программа делает, это может оказаться принципиальной разницей. Настоятельно рекомендуем в качестве хорошей практики всегда сравнивать с тремя знаками (=== и !==) вместо двух (== и !=).

Другие условия для проверки:

  • x > a: x больше a?
  • x < a: x меньше a?
  • x <= a: x меньше или равно a?
  • x >=a: x больше или равно a?
  • x != a: x не равно a?
  • x: x существует?

Объединение условий

Кроме всего вы можете объединить различные условия с выражениями «или» или «и», чтобы соответственно проверить, является ли какое-либо утверждение истинным или оба они истинны.

В JavaScript «или» пишется как ||, а «и» пишется как &&.

Скажем, вы хотите проверить, если значение х находится в диапазоне от 10 до 20. Вы можете сделать это со следующим условием:

if(x > 10 && x < 20) {
  ...
}

Если вы хотите убедиться, что country это либо "Англия" либо "Германия", то используйте:

if(country === 'Англия' || country === 'Германия') {
  ...
}

Подобно операциям с числами, условия можно группировать с помощью скобок. Например: if ( (name === "John" || name === "Jennifer") && country === "France").

Автор: Сами Песси
Последнее изменение: 27.02.2024