Vergelijking van waarden met het boolean type in JavaScript

In het vorige voorbeeld gebruikten we voor de vergelijking de operator ===. In dit geval werd onze variabele vergeleken op gelijkheid met true, zowel op waarde als op type.

Voor een dergelijke vergelijking kan ook de operator == gebruikt worden. Als in de variabele test altijd één van de waarden true of false staat, dan verandert er niets:

javascriptlet test = true; // hier schrijven we of true, of false

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

Maar als in de variabele test willekeurige waarden kunnen voorkomen, dan wordt alles veel ingewikkelder.

In dat geval, als er in de variabele test geen boolean waarde staat, dan zal deze waarde eerst worden omgezet naar een boolean en pas daarna worden vergeleken.

Stel dat in de variabele test het getal 1 staat. In dit geval wordt het eerst omgezet naar het boolean type, dat wil zeggen naar true. En vervolgens wordt de vergelijking uitgevoerd:

javascriptlet test = 1;

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

Het getal 0 daarentegen wordt omgezet naar false. En onze voorwaarde zal als resultaat 'onwaar' weergeven:

javascriptlet test = 0;

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

In feite kan een dergelijke vergelijking expliciet als volgt worden herschreven:

javascriptlet test = 1;

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

Herinner en schrijf op, welke waarden bij omzetting naar het boolean type false geven.

Задание 2

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:

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