Likhet efter värde och typ i JavaScript
Låt oss säga att du vill jämföra på ett sådant sätt att ett nummer i citattecken inte är lika med samma nummer utan citattecken. Med andra ord, du vill jämföra på ett sådant sätt att jämförelsen inte bara är baserad på värde, utan även på datatyp.
För detta, istället för operatorn ==, bör
operatorn === användas. I följande
exempel kommer villkoret att vara falskt när strängen '3' och
numret 3 jämförs,
eftersom variablerna, även om de är lika i värde,
inte är lika i typ:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // detta kommer att triggas
}
Men vid jämförelse av två strängar '3'
kommer villkoret att vara sant:
if ('3' === '3') {
console.log('+++'); // detta kommer att triggas
} else {
console.log('---');
}
Samma sak gäller vid jämförelse av nummer:
if (3 === 3) {
console.log('+++'); // detta kommer att triggas
} else {
console.log('---');
}
Skillnaden mellan operatorn == och operatorn
=== uppträder precis när
värdena är desamma, men datatypen är annorlunda.
I andra fall fungerar dessa operatorer
på samma sätt. Till exempel, vid jämförelse av olika
nummer kommer '---' så klart att skrivas ut:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // detta kommer att triggas
}
Utan att köra koden, avgör vad som kommer att skrivas ut i 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 i 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 i 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 i 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 i konsolen:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}