Jednakost po vrednosti i tipu u JavaScript
Recimo da želite da poredite tako da broj u navodnicima ne bude jednak istom broju bez navodnika. Drugim rečima, želite da poredite tako da poređenje bude ne samo po vrednosti, već i po tipu podataka.
Za to umesto operatora == treba
koristiti operator ===. U sledećem
primeru pri poređenju stringa '3' i
broja 3 uslov će biti netačan,
pošto varijable, iako su jednake po vrednosti,
nisu jednake po tipu:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // ovo će se izvršiti
}
Ali pri poređenju dva stringa '3'
uslov će biti tačan:
if ('3' === '3') {
console.log('+++'); // ovo će se izvršiti
} else {
console.log('---');
}
Isto tako, kao i pri poređenju brojeva:
if (3 === 3) {
console.log('+++'); // ovo će se izvršiti
} else {
console.log('---');
}
Razlika između operatora == i operatora
=== očigledna je upravo onda kada
su vrednosti iste, ali je tip podataka drugačiji.
U svim ostalim slučajevima ovi operatori rade
jednako. Na primer, pri poređenju različitih
brojeva, naravno, ispisaće se '---':
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // ovo će se izvršiti
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}