JavaScript -vergelijking en logische operators
Vergelijking en logische operatoren worden gebruikt om te testen voor true
of
false
.
Vergelijkingsoperators
Vergelijkingsoperatoren worden gebruikt in logische instructies om de gelijkheid of het verschil tussen variabelen of waarden te bepalen.
Gezien het feit dat x = 5
, verklaart de onderstaande tabel de vergelijkingsoperatoren:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Hoe kan het worden gebruikt?
Vergelijkingsoperatoren kunnen worden gebruikt in voorwaardelijke instructies om waarden te vergelijken en actie te ondernemen afhankelijk van het resultaat:
if (age < 18) text = "Too young to buy alcohol";
In het volgende hoofdstuk van deze tutorial leer je meer over het gebruik van conditionele statements.
Logische operators
Logische operatoren worden gebruikt om de logica tussen variabelen of waarden te bepalen.
Gezien het feit dat x = 6
en y = 3
, verklaart de onderstaande tabel de logische operatoren:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Voorwaardelijke (ternaire) operator
JavaScript bevat ook een voorwaardelijke operator die een waarde toewijst aan een variabele op basis van een voorwaarde.
Syntaxis
variablename = (condition) ? value1:value2
Voorbeeld
let voteable = (age < 18) ? "Too young":"Old enough";
Als de variabele leeftijd een waarde lager is dan 18, is de waarde van de variabele stembaar "Te jong", anders is de waarde van stembaar "Oud genoeg".
Verschillende soorten vergelijken
Het vergelijken van gegevens van verschillende typen kan onverwachte resultaten opleveren.
Bij het vergelijken van een tekenreeks met een getal, converteert JavaScript de tekenreeks naar een getal tijdens de vergelijking. Een lege tekenreeks wordt geconverteerd naar 0. Een niet-numerieke tekenreeks wordt geconverteerd naar NaN
altijd false
.
Case | Value | Try |
---|---|---|
2 < 12 | true | |
2 < "12" | true | |
2 < "John" | false | |
2 > "John" | false | |
2 == "John" | false | |
"2" < "12" | false | |
"2" > "12" | true | |
"2" == "12" | false |
Bij het vergelijken van twee strings zal "2" groter zijn dan "12", omdat (alfabetisch) 1 kleiner is dan 2.
Om een goed resultaat te krijgen, moeten variabelen vóór vergelijking worden geconverteerd naar het juiste type:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}