Nelygybė pagal reikšmę ir tipą JavaScript
Be operatoriaus !=, taip pat egzistuoja
operatorius !==, kuris atsižvelgia į tipą
lyginant. Pažvelkime į skirtumus tarp jų
pavyzdžiuose.
Tarkime, naudojant operatorių !=, lyginami
du skaičiai 3. Šis operatorius lygina
reikšmes, ar jos yra NE lygios. Kadangi mūsų
reikšmės yra lygios, tai
sąlyga bus klaidinga:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // suveiks tai
}
Tarkime, viena iš mūsų reikšmių dabar bus
kabutėse. Šiuo atveju operatorius !=
vis tiek laikys jas lygiomis (nes reikšmė sutampa,
o tipas šiam operatoriui nesvarbus)
ir vėl sąlyga bus klaidinga:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // suveiks tai
}
Dabar palyginkime du skaičius 3
naudodami operatorių !==. Jis taip pat
laikys juos lygiais:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // suveiks tai
}
Bet jei dabar vieną iš trejetų paimsime į kabutes,
tada operatorius !== laikys mūsų trejetus
nelygiais, nes, nors jų reikšmės ir sutampa,
bet jų tipai skiriasi:
if ('3' !== 3) {
console.log('+++'); // suveiks tai
} else {
console.log('---');
}
Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}