Ulighed efter værdi og type i JavaScript
Udover operatoren != findes der også
operatoren !==, som tager højde for typen ved
sammenligning. Lad os se på forskellene mellem
dem med eksempler.
Lad to tal 3 sammenlignes med
operatoren !=. Denne operator sammenligner
værdier for at se, om de IKKE er ens. Da
vores værdier netop er ens, vil
betingelsen være falsk:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // dette vil udføres
}
Lad nu en af vores værdier være
i anførselstegn. I dette tilfælde vil operatoren !=
stadig betragte dem som ens (da værdien stemmer overens,
og typen er ikke vigtig for denne operator)
og igen vil betingelsen være falsk:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // dette vil udføres
}
Lad os nu sammenligne de to tal 3
med operatoren !==. Den vil også
betragte dem som ens:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // dette vil udføres
}
Men hvis vi nu sætter en af tre-tallerne i anførselstegn,
vil operatoren !== betragte vores tre-tal
som forskellige, fordi selvom deres værdier stemmer overens,
har de forskellig type:
if ('3' !== 3) {
console.log('+++'); // dette vil udføres
} else {
console.log('---');
}
Uden at køre koden, afgør hvad der udskrives i konsollen:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Uden at køre koden, afgør hvad der udskrives i konsollen:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Uden at køre koden, afgør hvad der udskrives i konsollen:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Uden at køre koden, afgør hvad der udskrives i konsollen:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Uden at køre koden, afgør hvad der udskrives i konsollen:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}