Равенство по стойност и тип в JavaScript

Да приемем, че искате да сравнявате така, че числото в кавички да не бъде равно на същото число без кавички. С други думи, искате да сравнявате така, че сравнението да бъде не само по стойност, но и по тип данни.

За това вместо оператора == трябва да използвате оператора ===. В следващия пример при сравняване на низа '3' и числото 3 условието ще бъде невярно, тъй като променливите, макар и равни по стойност, не са равни по тип:

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('---');
}

Разликата между оператора == и оператора === се проявява точно тогава, когато стойностите са еднакви, но типът данни е различен. В останалите случаи тези оператори работят еднакво. Например, при сравняване на различни числа, разбира се, ще се изведе '---':

javascriptif (2 === 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 = 3;
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}