Ανισότητα κατά τιμή και τύπο στο 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('---'); // αυτό θα εκτελεστεί
}

Αν όμως τώρα βάλουμε ένα από τα 3 σε εισαγωγικά, τότε ο τελεστής !== θα θεωρήσει τις τιμές μας ανίσες, καθώς, αν και οι τιμές τους ταιριάζουν, έχουν διαφορετικό τύπο:

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