Operatoren in JavaScript
In dit artikel leggen we operatoren in JavaScript uit.
YouTube Video
Operatoren in JavaScript
Operatoren in JavaScript zijn symbolen of trefwoorden die worden gebruikt om berekeningen of vergelijkingen uit te voeren op nummers en variabelen. Er zijn verschillende soorten operatoren, die elk verschillende bewerkingen uitvoeren. Hier zijn enkele van de belangrijkste operatoren samengevat:.
Rekenkundige operatoren
De rekenkundige operatoren van JavaScript omvatten het volgende:.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
+ |
Optelling | 5 + 2 |
7 |
- |
Aftrekking | 5 - 2 |
3 |
* |
Vermenigvuldiging | 5 * 2 |
10 |
/ |
Deling | 5 / 2 |
2.5 |
% |
Modulus (Rest) | 5 % 2 |
1 |
++ |
Increment (Vermeerder met 1) | let x = 5; x++ |
6 |
-- |
Decrement (Verminder met 1) | let x = 5; x-- |
4 |
1let a = 10; // Initialize variable 'a' with the value 10
2let b = 3; // Initialize variable 'b' with the value 3
3
4// Perform and display arithmetic operations between 'a' and 'b'
5console.log("Addition (a + b): ", a + b); // 13
6console.log("Subtraction (a - b): ", a - b); // 7
7console.log("Multiplication (a * b):", a * b); // 30
8console.log("Division (a / b): ", a / b); // 3.333...
9console.log("Modulus (a % b): ", a % b); // 1
10
11// Demonstrate post-increment operation on 'a'
12// Output the current value of 'a' (10), then increment
13console.log("Post-increment (a++): ", a++);
14// Display the incremented value of 'a' (11)
15console.log("Value of 'a' after increment:", a);
16
17// Demonstrate pre-increment operation on 'a'
18// Increment 'a' first (12) then output
19console.log("Pre-increment (++a): ", ++a);
20
21// Demonstrate post-decrement operation on 'a'
22// Output the current value of 'a' (12), then decrement
23console.log("Post-decrement (a--): ", a--);
24// Display the decremented value of 'a' (11)
25console.log("Value of 'a' after decrement:", a);
26
27// Demonstrate pre-decrement operation on 'a'
28// Decrement 'a' first (10) then output
29console.log("Pre-decrement (--a): ", --a);
Rekenkundige operatoren voeren basis-wiskundige berekeningen uit op nummers. Naast optelling en aftrekking kun je bewerkingen uitvoeren zoals modulus, increment en decrement. Merk op dat de waarde die wordt geretourneerd door incrementele of decrementele bewerking verschilt afhankelijk van of de operator voor of na de operand wordt geplaatst.
Toewijzingsoperatoren
De toewijzingsoperatoren van JavaScript omvatten het volgende:.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
= |
Toewijzing | x = 5 |
x krijgt de waarde 5 toegewezen |
+= |
Toewijzing bij optelling | x += 5 |
x = x + 5 |
-= |
Toewijzing bij aftrekking | x -= 5 |
x = x - 5 |
*= |
Toewijzing bij vermenigvuldiging | x *= 5 |
x = x * 5 |
/= |
Toewijzing bij deling | x /= 5 |
x = x / 5 |
%= |
Modulo-toewijzing | x %= 5 |
x = x % 5 |
1let x = 10;
2
3x += 5; // x = x + 5, so x becomes 15
4console.log('After x += 5 : ', x); // 15
5
6x -= 10;
7console.log('After x -= 10 : ', x); // 5
8
9x *= 3;
10console.log('After x *= 3 : ', x); // 15
11
12x /= 3;
13console.log('After x /= 3 : ', x); // 5
14
15x %= 2;
16console.log('After x %= 2 : ', x); // 1
Toewijzingsoperatoren worden gebruikt om waarden aan variabelen toe te wijzen of om de waarden van variabelen bij te werken. Naast reguliere toewijzing zijn er toewijzingsoperatoren voor rekenkundige operaties zoals optelling en modulo.
Vergelijkingsoperatoren
De vergelijkingsoperatoren van JavaScript omvatten het volgende:.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
== |
Gelijk | 5 == "5" |
true |
=== |
Strikt gelijk (Zowel het type als de waarde zijn gelijk) | 5 === "5" |
false |
!= |
Niet gelijk | 5 != "5" |
false |
!== |
Strikt niet gelijk | 5 !== "5" |
true |
> |
Groter dan | 5 > 2 |
true |
< |
Kleiner dan | 5 < 2 |
false |
>= |
Groter dan of gelijk aan | 5 >= 5 |
true |
<= |
Kleiner dan of gelijk aan | 5 <= 4 |
false |
1console.log("5 == '5' evaluates to:", 5 == "5"); // true (because the values are equal)
2console.log("5 === '5' evaluates to:", 5 === "5"); // false (because the types are different)
3console.log("5 != '5' evaluates to:", 5 != "5"); // false
4console.log("5 !== '5' evaluates to:", 5 !== "5"); // true
5console.log("5 > 2 evaluates to:", 5 > 2); // true
6console.log("5 < 2 evaluates to:", 5 < 2); // false
7console.log("5 >= 5 evaluates to:", 5 >= 5); // true
8console.log("5 <= 4 evaluates to:", 5 <= 4); // false
9console.log("5 >= '5' evaluates to:", 5 >= "5"); // true
10console.log("5 <= '5' evaluates to:", 5 <= "5"); // true
- Vergelijkingsoperatoren vergelijken waarden en retourneren óf waar óf onwaar.
- De gelijkheidsoperator (
==
) converteert automatisch verschillende typen indien nodig voordat de vergelijking wordt uitgevoerd. De strikte gelijkheidsoperator (===
) voert geen typeconversies uit tijdens de vergelijking en retourneert alleentrue
als beide waarden hetzelfde type en dezelfde waarde hebben. Het gebruik van de strikte gelijkheidsoperator (===
) helpt bugs te voorkomen die worden veroorzaakt door onbedoelde typeconversie, daarom wordt aanbevolen deze bij voorkeur te gebruiken.
Logische operatoren
De logische operatoren van JavaScript omvatten het volgende:.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
&& |
EN (Waar als beide voorwaarden waar zijn) | true && false |
false |
|| |
OF (Waar als één van de voorwaarden waar is) | true || false |
true |
! |
NIET (Verandert waar in onwaar en onwaar in waar) | !true |
false |
1let a = true;
2let b = false;
3
4console.log("a && b evaluates to:", a && b); // false
5console.log("a || b evaluates to:", a || b); // true
6console.log("!a evaluates to:", !a); // false
Logische operatoren worden gebruikt bij meerdere voorwaarden om combinaties van voorwaarden te evalueren.
Prioriteit van logische operatoren
In JavaScript worden logische operatoren over het algemeen geëvalueerd in de volgorde van eerst NOT
, gevolgd door AND
en ten slotte OR
.
NOT
heeft de hoogste prioriteit
NOT
is een een-operand-operator en wordt geëvalueerd met de hoogste prioriteit.
1console.log(!true || false); // false
AND
heeft voorrang op OR
AND
heeft een hogere prioriteit dan OR
, dus het AND
-gedeelte wordt als eerste geëvalueerd.
1console.log(true || false && false); // true
Op deze manier wordt het AND
-gedeelte (&&
) eerst geëvalueerd, en het resultaat wordt doorgegeven aan OR
(||
).
AND
en OR
voeren een short-circuit evaluatie uit
De AND
en OR
van JavaScript voeren een short-circuit evaluatie uit. Als het resultaat bepaald kan worden door de waarde aan de linkerkant, wordt de expressie aan de rechterkant niet geëvalueerd.
1let a = false && console.log("This will not be printed");
2console.log(a); // false
3
4let b = true || console.log("This will not be printed");
5console.log(b); // true
In beide gevallen zal console.log()
niet worden uitgevoerd.
Stel expliciete prioriteit vast
Door expressies expliciet te groeperen met haakjes, kun je misverstanden over prioriteit voorkomen.
1console.log(true || (false && false)); // true
Verschillen tussen natuurlijke taal en programmainterpretatie
Bij het gebruik van logische operatoren is het belangrijk om je bewust te zijn van de dubbelzinnigheden in natuurlijke taal. Bijvoorbeeld, als je zegt 'witte hond of kat,' kan het betekenen 'een witte hond of een kat van willekeurige kleur' of 'een witte hond of een witte kat.'. In code zou het er als volgt uitzien:.
1if (isWhite && isDog || isCat) {
2 console.log(' "A white dog" or "a cat of any color" ');
3}
4
5if (isWhite && (isDog || isCat)) {
6 console.log(' "A white dog" or "a white cat" ');
7}
8
9console.log(true || (false && false)); // true
Omdat natuurlijke taal dergelijke dubbelzinnigheden bevat, is voorzichtigheid geboden bij het coderen of ontwerpen.
Ternaire operator (Voorwaardelijke operator)
JavaScript bevat een ternaire operator (voorwaardelijke operator).
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
? : |
Als de voorwaarde waar is, wordt de linkerkant uitgevoerd, en als deze onwaar is, de rechterkant | voorwaarde ? als waar : als onwaar |
Resultaat gebaseerd op de voorwaarde. |
1let age = 20;
2let message = age >= 18 ? "Adult" : "Minor";
3console.log(message); // "Adult"
Het wordt geschreven in de vorm voorwaarde ? waarde indien waar : waarde indien onwaar
.
Bitwise operatoren
JavaScript bitwise-operatoren omvatten het volgende.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
& |
AND | 5 & 1 |
1 |
| |
OR | 5 | 1 |
5 |
^ |
XOR | 5 ^ 1 |
4 |
~ |
NOT | ~5 |
-6 |
<< |
Links verschuiven | 5 << 1 |
10 |
>> |
Rechts verschuiven | 5 >> 1 |
2 |
1let x = 0x0F & 0x0C;
2console.log("0x0F & 0x0C evaluates to:", x, "(0x0C, 12)"); // 0x0C (12)
3
4x = 0x04 | 0x02;
5console.log("0x04 | 0x02 evaluates to:", x, "(0x06, 6)"); // 0x06 (6)
6
7x = 0x0F ^ 0x0C;
8console.log("0x0F ^ 0x0C evaluates to:", x, "(0x03, 3)"); // 0x03 (3)
9
10// The inverted number is represented as a negative value
11// because JavaScript numbers are stored as signed 32-bit integers.
12x = ~0x0C;
13console.log("~0x0C evaluates to:", x, "(-13, 0xF3)"); // 0xF3 (-13)
14
15x = 0x04 << 1;
16console.log("0x04 << 1 evaluates to:", x, "(0x08, 8)"); // 0x08 (8)
17x = 0x04 >> 1;
18console.log("0x04 >> 1 evaluates to:", x, "(0x02, 2)"); // 0x02 (2)
Bit operators voeren berekeningen uit op nummers op bit-niveau. Ze worden meestal gebruikt voor verwerking op laag niveau.
Type operators
JavaScript type-operatoren omvatten het volgende.
Operator | Beschrijving | Voorbeeld | Resultaat |
---|---|---|---|
typeof |
Geeft het type van een variabele terug | typeof 123 |
"number" |
instanceof |
Controleert of een object tot een specifieke klasse behoort | arr instanceof Array |
true |
1console.log(typeof "Hello"); // "string"
2console.log(typeof 42); // "number"
3
4let arr = [1, 2, 3];
5console.log("arr instanceof Array : ", arr instanceof Array); // true
Type operators worden gebruikt om het type van een waarde te controleren of om het naar een specifiek type te converteren.
De operator typeof
geeft het type van een variabele terug.
De operator instanceof
controleert of een object tot een specifieke klasse behoort.
Samenvatting
- Rekenkundige operators voeren basisberekeningen uit.
- Toewijzingsoperators wijzen waarden toe aan of werken waarden bij in variabelen.
- Vergelijkingsoperators vergelijken twee waarden en geven waar of onwaar terug.
- Logische operators evalueren combinaties van voorwaarden.
- Ternaire operators stellen u in staat om voorwaardelijke uitspraken in een kortere vorm dan
if
te schrijven. - Bitwise operators voeren berekeningen uit op bit-niveau.
- Type operators stellen u in staat het type van een waarde te controleren.
Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.