Enakost po vrednosti in tipu v JavaScript
Recimo, da želite primerjati tako, da število v narekovajih ne bo enako istemu številu brez narekovajev. Z drugimi besedami, želite primerjati tako, da primerjava ne bo samo po vrednosti, ampak tudi po podatkovnem tipu.
Za to namesto operatorja == uporabite
operator ===. V naslednjem
primeru bo pri primerjavi niza '3' in
števila 3 pogoj napačen,
ker so spremenljivke, čeprav enake po vrednosti,
niso enake po tipu:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // to se bo izvedlo
}
Medtem pa bo pri primerjavi dveh nizov '3'
pogoj resničen:
if ('3' === '3') {
console.log('+++'); // to se bo izvedlo
} else {
console.log('---');
}
Prav tako kot pri primerjavi števil:
if (3 === 3) {
console.log('+++'); // to se bo izvedlo
} else {
console.log('---');
}
Razlika med operatorjem == in operatorjem
=== se pokaže prav takrat, ko so
vrednosti enake, vendar so različni podatkovni tipi.
V vseh drugih primerih ta operatorja delujeta
enako. Na primer, pri primerjavi različnih
števil se bo seveda izpisal '---':
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // to se bo izvedlo
}
Brez zaganjanja kode določite, kaj se bo izpisalo v konzolo:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Brez zaganjanja kode določite, kaj se bo izpisalo v konzolo:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Brez zaganjanja kode določite, kaj se bo izpisalo v konzolo:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Brez zaganjanja kode določite, kaj se bo izpisalo v konzolo:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Brez zaganjanja kode določite, kaj se bo izpisalo v konzolo:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}