Неравенство по значение и тип в JavaScript

Освен оператора != съществува и оператор !==, който взема предвид типа при сравнението. Нека разгледаме разликите между тях с примери.

Нека с помощта на оператора != се сравняват две числа 3. Този оператор сравнява стойностите дали са НЕ равни. Тъй като нашите стойности всъщност са равни, то условието ще бъде ложно:

javascriptif (3 != 3) {
  console.log('+++');
} else {
  console.log('---'); // ще се изпълни това
}

Нека сега една от нашите стойности бъде в кавички. В този случай операторът != все пак ще ги счита за равни (тъй като стойността съвпада, а типът не е важен за този оператор) и отново условието ще бъде ложно:

javascriptif ('3' != 3) {
  console.log('+++');
} else {
  console.log('---'); // ще се изпълни това
}

Нека сега сравним две числа 3 с помощта на оператора !==. Той също ще ги счита за равни:

javascriptif (3 !== 3) {
  console.log('+++');
} else {
  console.log('---'); // ще се изпълни това
}

Но ако сега една от тройките бъде взета в кавички, то операторът !== ще счита нашите тройки за неравни, тъй като, въпреки че стойностите им съвпадат, те са с различен тип:

javascriptif ('3' !== 3) {
  console.log('+++'); // ще се изпълни това
} else {
  console.log('---');
}
Задание 1

Без да стартирате кода, определете какво ще се изведе в конзолата:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Без да стартирате кода, определете какво ще се изведе в конзолата:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Без да стартирате кода, определете какво ще се изведе в конзолата:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Без да стартирате кода, определете какво ще се изведе в конзолата:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Без да стартирате кода, определете какво ще се изведе в конзолата:

javascriptlet test1 = 3;
let test2 = 2;
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}