Vergelyking van waardes met Boole-tipe in JavaScript

In die vorige voorbeeld het ons die operator === gebruik vir vergelyking. In dié geval is ons veranderlike gelykgestel aan true, beide in waarde en tipe.

Vir so 'n vergelyking kan jy ook die operator == gebruik. As die veranderlike test altyd een van die waardes true of false is, sal niks verander nie:

javascriptlet test = true; // hier skryf ons óf true, óf false

if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}

Maar as enige waardes in die veranderlike test kan beland, word alles baie meer ingewikkeld.

In so 'n geval, as die veranderlike test nie 'n Boole-waarde is nie, sal daardie waarde eers na Boole- getipeer word en slegs dán vergelyk word.

Laat ons byvoorbeeld sê die veranderlike test bevat die getal 1. In dié geval sal dit eers na die logiese tipe omgeskakel word, dit wil sê na true. En dan sal die vergelyking uitgevoer word:

javascriptlet test = 1;

if (test == true) {
  console.log('+++'); // dit sal werk
} else {
  console.log('---');
}

Maar byvoorbeeld, die getal 0 word omgeskakel na false. En ons voorwaarde sal as gevolg 'verkeerd' uitvoer:

javascriptlet test = 0;

if (test == true) {
  console.log('+++');
} else {
  console.log('---'); // dit sal werk
}

In werklikheid kan so 'n vergelyking eksplisiet herskryf word in die volgende vorm:

javascriptlet test = 1;

if (Boolean(test) == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

Onthou en skryf neer watter waardes, wanneer na die logiese tipe omgeskakel, false gee.

Задание 2

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = 1;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = 0;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = 1;
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = 1;
    
if (test != true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 6

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = '';
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 7

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 8

Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:

javascriptlet test = 3 * 'a';
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}