Olikhet i värde och typ i JavaScript
Förutom operatorn != finns det också
operatorn !== som tar hänsyn till typ vid
jämförelse. Låt oss titta på skillnaderna mellan
dem med exempel.
Låt två tal 3 jämföras med operatorn !=.
Denna operator jämför värden för att se om de INTE är lika. Eftersom
våra värden faktiskt är lika, kommer
villkoret att vara falskt:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // detta kommer att köras
}
Låt nu ett av våra värden vara
i citationstecken. I detta fall kommer operatorn !=
fortfarande att anse dem som lika (eftersom värdet
stämmer överens, och typen är inte viktig för denna operator)
och villkoret blir återigen falskt:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // detta kommer att köras
}
Låt oss nu jämföra två tal 3
med operatorn !==. Den kommer också
att anse dem som lika:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // detta kommer att köras
}
Men om vi nu sätter en av treorna i citationstecken,
kommer operatorn !== att anse våra treor
som olika, eftersom, även om deras värden stämmer överens,
så har de olika typer:
if ('3' !== 3) {
console.log('+++'); // detta kommer att köras
} else {
console.log('---');
}
Utan att köra koden, avgör vad som kommer att skrivas ut till konsolen:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Utan att köra koden, avgör vad som kommer att skrivas ut till konsolen:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Utan att köra koden, avgör vad som kommer att skrivas ut till konsolen:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Utan att köra koden, avgör vad som kommer att skrivas ut till konsolen:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Utan att köra koden, avgör vad som kommer att skrivas ut till konsolen:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}