Egalitate prin valoare și tip în JavaScript
Să presupunem că doriți să comparați astfel încât numărul în ghilimele să nu fie egal cu același număr fără ghilimele. Cu alte cuvinte, doriți să comparați astfel încât comparația să fie nu numai după valoare, ci și după tipul de date.
Pentru aceasta, în loc de operatorul ==, ar trebui
să folosiți operatorul ===. În următorul
exemplu, la compararea șirului '3' cu
numărul 3, condiția va fi falsă,
deoarece variabilele, deși sunt egale ca valoare,
nu sunt egale ca tip:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // acesta se va executa
}
Însă la compararea a două șiruri '3'
condiția va fi adevărată:
if ('3' === '3') {
console.log('+++'); // acesta se va executa
} else {
console.log('---');
}
La fel ca și la compararea numerelor:
if (3 === 3) {
console.log('+++'); // acesta se va executa
} else {
console.log('---');
}
Diferența dintre operatorul == și operatorul
=== se manifestă exact atunci când
valorile sunt identice, dar tipurile de date sunt diferite.
În restul cazurilor, acești operatori funcționează
la fel. De exemplu, la compararea unor numere
diferite, bineînțeles, se va afișa '---':
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // acesta se va executa
}
Fără a rula codul, determinați ce se va afișa în consolă:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Fără a rula codul, determinați ce se va afișa în consolă:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Fără a rula codul, determinați ce se va afișa în consolă:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Fără a rula codul, determinați ce se va afișa în consolă:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Fără a rula codul, determinați ce se va afișa în consolă:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}