Этот блог является шестой частью серии статей по основам JavaScript. В этой серии будет рассказано, как писать if & if-else (логика принятия решения), сравнение и логические операторы в JavaScript. Это лучше всего подходит для тех, кто плохо знаком с Javascript. Ссылка на предыдущий блог о функциях.

Охваченная тема

  • Зачем нам нужно и как писать если, если-иначе
  • Операторы сравнения и их использование в if-else
  • Каскадное если-иначе-если
  • Логические операторы и их использование в if-else
  • Знаменитый тернарный оператор

Зачем нам нужно и как писать если, если-иначе

В языках программирования есть очень распространенный сценарий, когда мы должны принимать решения на основе некоторых условий и выполнять некоторый блок кода, если это условие оценивается как истинное. Пример сценария: если оценка учащегося выше 90, он должен получить оценку «А», иначе он получит «В».

Это настолько распространено, что большинство языков программирования поддерживают это с помощью ‘if’ или ‘if-else’.

if(true){
  console.log('We are using if conditional logic');
  //your statements
}

Кто-то может спросить, зачем эта часть 'else', если мы можем поддерживать ее через 'if', ну очень часто что-то делают, если ваше условие истинно (поддерживается условием if ), а затем сделайте что-нибудь еще, если ваше условие ложно (поддерживается условием else).

if(true){
  console.log('We are using if conditional logic');
  //your statements
}else{
  console.log('We are using elseconditional logic');
  //your statements
}

Операторы сравнения и их использование в if-else

Операторы сравнения используются в основном для одновременного сравнения двух переменных. Список операторов сравнения: '==' (равно), '===' (строгое равенство), '›' (больше), '≥' (больше и равно), '‹' (меньше), ' ≤' (меньше и равно), '!=' (не равно), '!==' (строго не равно).

Некоторые из них говорят сами за себя. Примеры операторов сравнения

var myVar1 = 5;
var myVar2 = 10;
console.log(myVar1 > myVar2); // this will print false
console.log(myVar1 >= '5'); // this will print true
console.log(myVar1 < myVar2); // this will print true
console.log(myVar1 <= '4'); // this will print false 

Примечание. Разница между ‘==’ и ‘===’

Операторы '==' (равно) будут проверять только значения в двух переменных, если они равны или нет, но в случае '===' (строго равно) они будут проверять не только значение переменной, но и также тип переменной.

var intVar = 10;
var strVar = "10";
//this will print true even though both are of different type
console.log(intVar == strVar);
//this will print false as both are of different type
console.log(intvar === strVar);

Примечание. Разница между ‘!=’ и ‘!==’

По аналогии с оператором равенства ‘!=’ будет проверять только значение переменной, а ‘!==’ будет проверять не только значение, но и тип переменной.

var intVar = 10;
var strVar = "10";
//this will print false even though both are of different type
console.log(intVar != strVar);
//this will print true as both are of different type
console.log(intvar !== strVar);

Как использовать операторы сравнения с if и if-else

В скобках после «if», то есть «()», мы можем написать внутри них наше условие. Если условие истинно, будет выполнен блок «if». Предположим, мы хотим сравнить оценки учеников, если они больше 90, мы должны напечатать «Оценка А».

var mark = 95;
if(mark > 90){
  console.log("Grade A");
}

Точно так же, если мы хотим сравнить две переменные и вывести результат, если он больше или меньше.

var myVar1 = 5;
var myVar2 = 10;
if(myVar1 > myVar2){
 console.log(myVar1 + " is greater then " + myVar2);
}else{
  console.log(myVar1 + " is lesser then " + myVar2);
}

Каскадное если-иначе-если

Давайте продолжим наш пример оценки на основе оценок. Предположим, что мы хотим напечатать, если оценка больше 90, затем оценка A, больше 80, затем оценка B, больше 70, затем оценка C. Это похоже на несколько условий одно за другим. Для этого типа условия у нас есть каскадное if-else-if.

var mark = 75;
if(mark > 90){
  console.log("Grade A");
}else if(mark > 80){
  console.log("Grade B');
}else if(mark > 70){
  console.log9("Grade C");
}

Примечание. Приведенные выше каскадные условия if-else-if могут быть решены с помощью нескольких условий if следующим образом:

var mark = 75;
if(mark > 90){
  console.log("Grade A");
}
if(mark > 80){
  console.log("Grade B');
}
if(mark > 70){
  console.log9("Grade C");
}

Но в приведенном выше случае будет выполняться каждое условие if, но в случае каскадного if-else-if условие будет проверяться до тех пор, пока одно из них не станет истинным . Если первое условие оценивается как истинное, другое условие не будет проверяться.

Логические операторы и их использование в if-else

Логический оператор полезен в том случае, когда мы хотим объединить несколько условий вместе. Предположим, больше и меньше, равно и больше или любая комбинация.

Примечание. Это не ограничивается двумя условными операторами, мы также можем комбинировать столько условных операторов, сколько потребуется.

Список логических операторов, поддерживаемых JavaScript «&&» (и), «||» (или) и «!» (не). Предположим, у нас есть три переменные, и мы хотим проверить, больше ли первая двух других.

var myVar1 = 5;
var myVar2 = 10;
var myVar3 = 15;
if(myVar1 > myVar2 && myVar1 > myVar3){
  console.log(myVar1 + " is greater then " + myVar2 + " and  " + myVar3);
}

Точно так же мы можем использовать оператор «||» для объединения нескольких условных операторов.

Разница между логическим оператором И и оператором ИЛИ

  • В случае логического оператора И, чтобы результат был истинным, все условия должны оцениваться как истинные.
  • В случае логического оператора ИЛИ, даже если одно условие оценивается как истинное из всех условий, конечный результат является истинным.

Логический оператор НЕ просто изменит результат условного оператора. Это как оператор отрицания.

var myVar1 = 5;
var myVar2 = 10;
/*this will print blocm though the condition evaluates to false but NOT operator reverse the result.*/
if( !(myVar1 > myVar2) ){
 console.log(myVar1 + " is greater then " + myVar2);
}

Знаменитый тернарный оператор

Этот оператор заменяет условие if-else и должен возвращать значение, которое можно присвоить переменной.

Как написать тернарный оператор:

  • Как правило, тернарные операторы находятся справа от оператора присваивания, а слева — от переменной, в которой будет храниться возвращаемое значение.
  • Тернарный оператор начинается со скобки, внутри которой мы пишем наше условие, за которым следует вопросительный знак.
  • За ним следует значение, которое будет возвращено, если условие истинно.
  • После двоеточия следует значение, которое будет возвращено, если условие ложно.

Предположим, мы хотим получить максимальное значение среди двух значений

var myVar = (5 > 10) ? 5 : 10;
//myvar will have value 10 inside it.

На этом заканчивается шестой блог этой серии, в следующем разделе мы подробно обсудим циклы в Javascript.

Дошли до этого места, дайте мне следить за последними историями.

Если вам понравилось это читать, не забудьте про аплодисменты. 👏
Спасибо.