Arvo- ja tyyppiyhtäläisyys JavaScriptissä

Oletetaan, että haluat vertailla siten, että numero lainausmerkeissä ei ole yhtä suuri kuin sama numero ilman lainausmerkkejä. Toisin sanoen haluat vertailla siten, että vertailu ei ole pelkästään arvon perusteella, vaan myös tietotyypin perusteella.

Tätä varten operaattorin == sijasta tulee käyttää operaattoria ===. Seuraavassa esimerkissä merkkijonon '3' ja luvun 3 vertailussa ehto on epätosi, sillä muuttujat, vaikka ne ovatkin yhtä suuria arvoltaan, eivät ole yhtä suuria tyypiltään:

javascriptif ('3' === 3) {
  console.log('+++');
} else {
  console.log('---'); // tämä suoritetaan
}

Mutta kahden merkkijonon '3' vertailussa ehto on tosi:

javascriptif ('3' === '3') {
  console.log('+++'); // tämä suoritetaan
} else {
  console.log('---');
}

Sama pätee lukujen vertailussa:

javascriptif (3 === 3) {
  console.log('+++'); // tämä suoritetaan
} else {
  console.log('---');
}

Ero operaattorin == ja operaattorin === välillä ilmenee juuri silloin, kun arvot ovat samat, mutta tietotyyppi on eri. Muissa tapauksissa nämä operaattorit toimivat samalla tavalla. Esimerkiksi eri lukujen vertailussa tulostuu tietysti '---':

javascriptif (2 === 3) {
  console.log('+++');
} else {
  console.log('---'); // tämä suoritetaan
}
Задание 1

Määritä käynnistämättä koodia, mitä tulostuu konsoliin:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 == test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Määritä käynnistämättä koodia, mitä tulostuu konsoliin:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Määritä käynnistämättä koodia, mitä tulostuu konsoliin:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 == test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Määritä käynnistämättä koodia, mitä tulostuu konsoliin:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Määritä käynnistämättä koodia, mitä tulostuu konsoliin:

javascriptlet test1 = 3;
let test2 = 3;
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}