Érték és típus szerinti egyenlőség a JavaScriptben
Tegyük fel, hogy úgy szeretne összehasonlítani, hogy a idézőjelben lévő szám ne legyen egyenlő ugyanazzal a számmal idézőjelek nélkül. Más szavakkal, úgy szeretne összehasonlítani, hogy az összehasonlítás ne csak az érték, hanem az adattípus szerint is történjen.
Ehhez a == operátor helyett
a === operátort kell használni. A következő
példában a '3' sztring és a
3 szám összehasonlításakor a feltétel hamis lesz,
mivel a változók, bár értékük megegyezik,
de típusuk nem egyenlő:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // ez fog lefutni
}
Viszont két '3' sztring összehasonlításakor
a feltétel igaz lesz:
if ('3' === '3') {
console.log('+++'); // ez fog lefutni
} else {
console.log('---');
}
Ugyanígy számok összehasonlításakor:
if (3 === 3) {
console.log('+++'); // ez fog lefutni
} else {
console.log('---');
}
A == és a === operátorok közötti
különbség pontosan akkor jelentkezik, amikor
az értékek megegyeznek, de az adattípus más.
Minden egyéb esetben ez a két operátor ugyanúgy működik.
Például különböző számok összehasonlításakor
természetesen a '---' jelenik meg:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // ez fog lefutni
}
Kód futtatása nélkül határozza meg, mi jelenik meg a konzolon:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kód futtatása nélkül határozza meg, mi jelenik meg a konzolon:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kód futtatása nélkül határozza meg, mi jelenik meg a konzolon:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Kód futtatása nélkül határozza meg, mi jelenik meg a konzolon:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Kód futtatása nélkül határozza meg, mi jelenik meg a konzolon:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}