Eriarvoisuus arvon ja tyypin mukaan JavaScriptissä
Operaattorin != lisäksi on olemassa myös
operaattori !==, joka ottaa huomioon tyypin
vertailussa. Tarkastellaanpa niiden eroja
esimerkkien avulla.
Olkoon operaattorilla != verrattuna
kahta lukua 3. Tämä operaattori vertailee
arvoja siitä, että ne EIVÄT ole yhtä suuria. Koska
arvomme ovat juuri yhtä suuret,
ehto on epätosi:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // tämä toimii
}
Olkoon nyt yksi arvoistamme
lainausmerkeissä. Tässä tapauksessa operaattori !=
katsoo niiden silti olevan yhtä suuria (koska arvo
täsmää, eikä tyyppi ole tärkeä tälle operaattorille)
ja ehto on jälleen epätosi:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // tämä toimii
}
Vertailkaamme nyt kahta lukua 3
operaattorilla !==. Se katsoo niiden myös
olevan yhtä suuria:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // tämä toimii
}
Mutta jos nyt otamme yhden kolmikoista lainausmerkkeihin,
operaattori !== katsoo kolmikkomme
eri suuriksi, sillä vaikka niiden arvot täsmäävätkin,
niillä on eri tyyppi:
if ('3' !== 3) {
console.log('+++'); // tämä toimii
} else {
console.log('---');
}
Määritä, mitä konsoliin tulostuu ajamatta koodia:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Määritä, mitä konsoliin tulostuu ajamatta koodia:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Määritä, mitä konsoliin tulostuu ajamatta koodia:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Määritä, mitä konsoliin tulostuu ajamatta koodia:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Määritä, mitä konsoliin tulostuu ajamatta koodia:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}