Gelijkheid in waarde en type in JavaScript
Stel dat je zo wilt vergelijken dat een getal tussen aanhalingstekens niet gelijk is aan hetzelfde getal zonder aanhalingstekens. Met andere woorden, je wilt zo vergelijken dat de vergelijking niet alleen op waarde, maar ook op datatype gebeurt.
Hiervoor moet je in plaats van de operator ==
de operator === gebruiken. In het volgende
voorbeeld zal bij het vergelijken van de string '3' en
het getal 3 de voorwaarde onwaar zijn,
omdat de variabelen, hoewel gelijk in waarde,
niet gelijk zijn in type:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // dit wordt uitgevoerd
}
Maar bij het vergelijken van twee strings '3'
zal de voorwaarde waar zijn:
if ('3' === '3') {
console.log('+++'); // dit wordt uitgevoerd
} else {
console.log('---');
}
Hetzelfde geldt bij het vergelijken van getallen:
if (3 === 3) {
console.log('+++'); // dit wordt uitgevoerd
} else {
console.log('---');
}
Het verschil tussen de operator == en de operator
=== komt vooral naar voren wanneer
de waarden hetzelfde zijn, maar het datatype verschillend.
In andere gevallen werken deze operatoren
hetzelfde. Bij het vergelijken van verschillende
getallen, zal er uiteraard '---' worden uitgevoerd:
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // dit wordt uitgevoerd
}
Zonder de code uit te voeren, bepaal wat er naar de console wordt uitgevoerd:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er naar de console wordt uitgevoerd:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er naar de console wordt uitgevoerd:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er naar de console wordt uitgevoerd:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er naar de console wordt uitgevoerd:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}