Operatoren in TypeScript

Operatoren in TypeScript

Dit artikel legt de operatoren in TypeScript uit.

YouTube Video

Operatoren in TypeScript

Operatoren in TypeScript worden gebruikt om numerieke berekeningen, waardevergelijkingen en logische bewerkingen uit te voeren. Aangezien TypeScript vergelijkbare operatoren als JavaScript gebruikt, zijn ze gemakkelijk te leren, maar TypeScript biedt strengere bewerkingen met behulp van typeveiligheid.

De belangrijkste operatoren zijn als volgt:.

Aritmetische operatoren

Aritmetische operatoren worden gebruikt voor numerieke berekeningen.

Operator Beschrijving Voorbeeld Resultaat
+ Optelling 5 + 3 8
- Aftrekking 5 - 3 2
* Vermenigvuldiging 5 * 3 15
/ Deling 5 / 2 2.5
% Restwaarde 5 % 2 1
++ Incrementeel (prefix) let x = 5; ++x 6
-- Decrementeel (prefix) 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);

Toekenningsoperatoren

Toekenningsoperatoren wijzen de waarde rechts toe aan de variabele links.

Operator Beschrijving Voorbeeld Resultaat
= Toekenning x = 10 x = 10
+= Optellen en toekennen x += 5 x = 15
-= Aftrekken en toekennen x -= 5 x = 5
*= Vermenigvuldigen en toekennen x *= 2 x = 20
/= Delen en toekennen x /= 2 x = 5
%= Restwaarde en toekennen x %= 3 x = 1
1let z = 5;
2z += 3;
3console.log(z);  // Outputs: 8
4
5z *= 2;
6console.log(z);  // Outputs: 16

Vergelijkingsoperatoren

Vergelijkingsoperatoren vergelijken waarden en geven true of false terug.

Operator Beschrijving Voorbeeld Resultaat
== Gelijk (geen typevergelijking) 5 == "5" true
=== Strikt gelijk (inclusief type) 5 === "5" false
!= Niet gelijk (geen typevergelijking) 5 != "5" false
!== Strikt niet gelijk (inclusief type) 5 !== "5" true
> Groter dan 5 > 3 true
< Kleiner dan 5 < 3 false
>= Groter dan of gelijk aan 5 >= 5 true
<= Kleiner dan of gelijk aan 5 <= 3 false
1console.log('5 == "5"   :', 5 == "5");   // Outputs: true
2console.log('5 === "5"  :', 5 === "5");  // Outputs: false
3console.log('5 != "5"   :', 5 != "5");   // Outputs: false
4console.log('5 !== "5"  :', 5 !== "5");  // Outputs: true
5console.log('5 > 3      :', 5 > 3);      // Outputs: true
6console.log('5 < 3      :', 5 < 3);      // Outputs: false
7console.log('5 >= 5     :', 5 >= 5);     // Outputs: true
8console.log('5 <= 3     :', 5 <= 3);     // Outputs: false

Logische operatoren

Logische operatoren worden gebruikt om logische expressies te combineren.

Operator Beschrijving Voorbeeld Resultaat
&& Logische EN true && false false
|| Logische OF true || false true
! Negatie !true false
1console.log('true && false :', true && false);  // Outputs: false
2console.log('true || false :', true || false);  // Outputs: true
3console.log('!true         :', !true);          // Outputs: false

Voorrang van logische operatoren

In TypeScript worden logische operatoren meestal geëvalueerd in de volgorde NIET eerst, gevolgd door EN en tot slot OF.

NIET Heeft de Hoogste Voorrang

NIET is een unitaire operator en wordt geëvalueerd met de hoogste voorrang.

1console.log(!true || false);  // false
EN Heeft Voorrang op OF

EN heeft een hogere voorrang dan OF, dus het EN-gedeelte wordt eerst geëvalueerd.

1console.log(true || false && false);  // true

Als gevolg hiervan wordt het EN (&&)-gedeelte eerst berekend, en het resultaat wordt doorgegeven aan OF (||).

EN en OF Voeren Short-Circuit Evaluatie uit

In TypeScript voeren EN en OF short-circuit evaluatie uit. Als het resultaat wordt bepaald door de linkerwaarde, wordt de rechterexpressie 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 wordt console.log() niet uitgevoerd.

Voorrang Expliciet Definiëren

Het gebruik van haakjes om expressies expliciet te groeperen kan misverstanden over voorrang 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 ambiguïteiten in natuurlijke taal. Bijvoorbeeld, in de zin 'een witte hond of een kat,' kan het betekenen 'een witte hond of welke kat dan ook' of 'een witte hond of een witte kat.'. In code kan het als volgt worden geschreven:.

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}

Omdat natuurlijke taal dubbelzinnig kan zijn, is voorzichtigheid geboden bij het coderen en ontwerpen van systemen.

Bitwise-operatoren

Bitwise-operatoren manipuleren getallen op bitniveau.

Operator Beschrijving Voorbeeld Resultaat
& Logische EN 5 & 1 1
` ` Logische OF 5 | 1
^ Exclusieve OF (XOR) 5 ^ 1 4
~ Negatie (NOT) ~5 -6
<< Links verschuiven 5 << 1 10
>> Rechts verschuiven (met teken) 5 >> 1 2
>>> Rechts verschuiven (zonder teken) 5 >>> 1 2
1console.log('5 & 1  :', 5 & 1);   // Outputs: 1  (AND operation)
2console.log('5 | 1  :', 5 | 1);   // Outputs: 5  (OR operation)
3console.log('5 ^ 1  :', 5 ^ 1);   // Outputs: 4  (XOR operation)
4console.log('~5     :', ~5);      // Outputs: -6 (NOT operation)
5console.log('5 << 1 :', 5 << 1);  // Outputs: 10 (Left shift operation)
6console.log('5 >> 1 :', 5 >> 1);  // Outputs: 2  (Right shift operation)
7console.log('5 >>> 1:', 5 >>> 1); // Outputs: 2  (Unsigned right shift operation)

Ternaire Operator

De ternaire operator retourneert verschillende waarden afhankelijk van het resultaat van een voorwaardelijke expressie.

1let age = 20;
2let access = (age >= 18) ? "Allowed" : "Denied";
3console.log(access);  // Outputs: Allowed

Type-operatoren

De type-operatoren van TypeScript omvatten de volgende:.

Operator Beschrijving Voorbeeld Resultaat
typeof Retourneert het type van een variabele typeof 123 "number"
instanceof Controleren of een object tot een specifieke klasse behoort arr instanceof Array true
is Als een typebewaker wordt gecontroleerd of een waarde van een specifiek type is value is string true or false
 1console.log(typeof "Hello");  // "string"
 2console.log(typeof 42);       // "number"
 3
 4let arr: number[] = [1, 2, 3];
 5console.log("arr instanceof Array : ", arr instanceof Array); // true
 6
 7// Example of Type Guard
 8function isString(value: any): value is string {
 9  return typeof value === "string";
10}
11
12let value: any = "Hello";
13if (isString(value)) {
14  console.log("Value is a string:", value);  // "Value is a string: Hello"
15}

Type-operatoren worden gebruikt om het type van een waarde te controleren of om te zetten naar een specifiek type.

  • De typeof-operator retourneert het type van een variabele.
  • De instanceof-operator controleert of een object tot een specifieke klasse behoort.
  • De is-operator wordt gebruikt om te controleren of een waarde van een specifiek type is. Het maakt deel uit van de typebewakers van TypeScript.

Samenvatting

  • Aritmetische Operatoren: Voeren basisberekeningen uit.
  • Toewijzingsoperatoren: Ken waarden toe aan variabelen.
  • Vergelijkingsoperatoren: Vergelijken waarden.
  • Logische Operatoren: Combineren logische voorwaarden.
  • Bitwise Operatoren: Voeren bewerkingen uit op bitniveau.
  • Ternaire Operator: Retourneert waarden op basis van voorwaarden.
  • Type-operatoren kunnen het type van een waarde controleren.

In TypeScript kunnen deze operatoren worden gebruikt om complexe berekeningen en conditionele expressies efficiënt te schrijven.

Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.

YouTube Video