Lighed efter værdi og type i JavaScript
Lad os sige, at du ønsker at sammenligne på en sådan måde, at tallet i anførselstegn ikke er lig med det samme tal uden anførselstegn. Med andre ord, du ønsker at sammenligne, så sammenligningen ikke kun sker efter værdi, men også efter datatype.
Til dette skal du i stedet for operatoren ==
bruge operatoren ===. I det følgende
eksempel, når strengen '3' og
tallet 3 sammenlignes, vil betingelsen være falsk,
da variablerne, selvom de er lige i værdi,
ikke er lige i type:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // dette vil udføres
}
Men ved sammenligning af to strenge '3'
vil betingelsen være sand:
if ('3' === '3') {
console.log('+++'); // dette vil udføres
} else {
console.log('---');
}
Det samme gælder ved sammenligning af tal:
if (3 === 3) {
console.log('+++'); // dette vil udføres
} else {
console.log('---');
}
Forskellen mellem operatoren == og operatoren
=== viser sig netop, når
værdierne er de samme, men datatypen er forskellig.
I alle andre tilfælde fungerer disse operatorer
på samme måde. For eksempel, ved sammenligning af forskellige
tal, vil '---' selvfølgelig blive vist:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // dette vil udføres
}
Uden at køre koden, afgør hvad der vil blive vist 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 vil blive vist 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 vil blive vist 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 vil blive vist 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 vil blive vist i konsollen:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}