Ισότητα ως προς την τιμή και τον τύπο σε 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('---');
}