web2 logo

Vergelijkingsoperators

> groter dan
< kleiner dan
>= groter dan of gelijk aan
<= kleiner dan of gelijk aan
== is gelijk aan (typen worden hier niet vergeleken)
!= is ongelijk aan (typen worden hier niet vergeleken)
=== is waar als waarde en type gelijk zijn
!== is waar als zowel waarde als type ongelijk zijn
Voorbeelden:
'5' !== 5 geeft true, deze zijn ongelijk, de waarde is wel gelijk, maar het type is anders
'5' !== '5' geeft false, deze zijn gelijk omdat zowel de waarde als het type gelijk is
Let op bij het gebruik van =. Met een enkel = teken verander je een variabele in plaats van deze te vergelijken.
Bij vergelijkingen waarbij typen niet worden vergeleken wordt type coercion gebruikt: een string die cijfers bevat wordt dan gezien als een getal om deze te kunnen vergelijken met een getal.

Een vergelijking toewijzen aan een variabele

Het is mogelijk om een vergelijking toe te wijzen aan een variabele, deze krijgt dan de waarde true of false:
var getal1 = 8;
var getal2 = 10;
var isEenGroter = getal1 > getal2;
Om de leesbaarheid te vergroten, kan je de vergelijking ook tussen haakjes plaatsen:
var getal1 = 8;
var getal2 = 10;
var isEenGroter = (getal1 > getal2);
De variabele isEengroter zal nu de waarde false bevatten.

Meerdere vergelijkingen tegelijk vergelijken

Met logical operators kan je meerdere vergelijkingen tegelijk vergelijken:
&& 'and' : als beide vergelijkingen waar zijn, krijg je true, anders false
|| 'or' : als beide vergelijkingen onwaar zijn, krijg je false, anders true
Voorbeelden:
// true:
var x = ((12 < 15) && (13 >= 12));
// ook true:
var x = ((12 < 15) || (13 < 11));

Waarde omkeren

False en true waarden kan je omkeren met een uitroepteken:
// true:
var isDitWaar = !(12 < 11);

Waar en niet waar

// false:
var x = false;
var x = 0;
var x = '';
var x;
// true:
var x = true;
var x = 'false';
var x = 1;
var x = '0';
var x = 'hallo';

Stricte en niet-stricte vergelijkingen

Bij stricte vergelijkingen wordt niet alleen de waarde vergeleken, maar ook het type:
false == 0 // true
false === 0 // false
false == '' // true
false === '' // false
0 == '' // true
0 === '' // false
undefined == null // true
undefined === null // false
null == false // false
null == 0 // false
null == null // true
undefined == 0 // false
undefined == 0 // false
undefined == undefined // true
NaN == null // false
NaN == NaN // false : NaN is zelfs niet gelijk aan zichzelf!

Objecten kunnen waar zijn, maar ongelijk aan waar

In plaats van een vergelijking kan ook een bestaat wel of bestaat niet gebruikt worden. Dit werkt:
if (document.getElementById('navigatie')){
   // indien dit element bestaat deze instructies uitvoeren
}else {
   // indien dit element niet bestaat deze instructies uitvoeren
}
Dit werkt niet:
if (document.getElementById('navigatie') == true)
Een object is geen boolean.

Een vergelijking kortsluiten als iets bestaat

In een vergelijking met || (or) wordt gestopt zodra er een true of een bestaat is gevonden. In dat laatste geval wordt er geen true teruggegeven, maar de gevonden waarde:
var kleur = 'rood';
var mijnkleur = (kleur || 'onbekend');
Indien de variabele kleur een waarde heeft, wordt deze waarde gegeven aan mijnkleur, anders krijgt deze de waarde 'onbekend'.

Toegevoegd door: Kees de Keijzer
Twitter: @kdkq

~ javascript ~

~ Onderwerpen ~

Dit is een website zonder pop-ups

~ Links ~

Design & Development by Cyberwebdesign.nl for web2.nl © 2020.