Ανισότητα κατά τιμή και τύπο στο JavaScript
Εκτός από τον τελεστή != υπάρχει επίσης
ο τελεστής !==, ο οποίος λαμβάνει υπόψη τον τύπο κατά τη
σύγκριση. Ας εξετάσουμε τις διαφορές μεταξύ
τους με παραδείγματα.
Ας υποθέσουμε ότι με τον τελεστή != συγκρίνονται
δύο αριθμοί 3. Αυτός ο τελεστής συγκρίνει
τις τιμές ως προς το αν ΔΕΝ είναι ίσες. Εφόσον
οι τιμές μας είναι ίσες, τότε
η συνθήκη θα είναι ψευδής:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // αυτό θα εκτελεστεί
}
Ας υποθέσουμε τώρα ότι μία από τις τιμές μας είναι
σε εισαγωγικά. Σε αυτήν την περίπτωση ο τελεστής !=
θα τις θεωρήσει πάλι ίσες (καθώς ταιριάζει η
τιμή, και ο τύπος δεν είναι σημαντικός για αυτόν τον τελεστή)
και πάλι η συνθήκη θα είναι ψευδής:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // αυτό θα εκτελεστεί
}
Ας συγκρίνουμε τώρα δύο αριθμούς 3
με τον τελεστή !==. Αυτός επίσης
θα τους θεωρήσει ίσους:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // αυτό θα εκτελεστεί
}
Αν όμως τώρα βάλουμε ένα από τα 3 σε εισαγωγικά,
τότε ο τελεστής !== θα θεωρήσει τις τιμές μας
ανίσες, καθώς, αν και οι τιμές τους ταιριάζουν,
έχουν διαφορετικό τύπο:
if ('3' !== 3) {
console.log('+++'); // αυτό θα εκτελεστεί
} else {
console.log('---');
}
Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εκτυπωθεί στην κονσόλα:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εκτυπωθεί στην κονσόλα:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εκτυπωθεί στην κονσόλα:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εκτυπωθεί στην κονσόλα:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εκτυπωθεί στην κονσόλα:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}