Vienlīdzība pēc vērtības un tipa JavaScript
Pieņemsim, ka vēlaties salīdzināt tā, lai skaitlis pēdiņās nebūtu vienāds ar tādu pašu skaitli bez pēdiņām. Citiem vārdiem sakot, jūs vēlaties salīdzināt tā, lai salīdzinājums būtu ne tikai pēc vērtības, bet arī pēc datu tipa.
Lai to izdarītu, operatora == vietā
jāizmanto operators ===. Nākamajā
piemērā, salīdzinot virkni '3' un
skaitli 3, nosacījums būs nepatiess,
jo mainīgie, kaut arī ir vienādi pēc vērtības,
nav vienādi pēc tipa:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // izpildīsies šis
}
Bet, salīdzinot divas virknes '3',
nosacījums būs patiess:
if ('3' === '3') {
console.log('+++'); // izpildīsies šis
} else {
console.log('---');
}
Tāpat kā arī, salīdzinot skaitļus:
if (3 === 3) {
console.log('+++'); // izpildīsies šis
} else {
console.log('---');
}
Atšķirība starp operatoru == un operatoru
=== izpaužas tieši tad, kad
vērtības ir vienādas, bet atšķiras datu tips.
Visos citos gadījumos šie operatori darbojas
vienādi. Piemēram, salīdzinot dažādus
skaitļus, protams, tiks izvadīts '---':
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // izpildīsies šis
}
Nepalaižot kodu, nosakiet, ko izvadīs konsole:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}