Operatorer i JavaScript

Operatorer i JavaScript

I denne artikel vil vi forklare operatorer i JavaScript.

YouTube Video

Operatorer i JavaScript

Operatorer i JavaScript er symboler eller nøgleord, der bruges til at udføre beregninger eller sammenligninger på tal og variabler. Der er forskellige typer operatorer, der hver især udfører forskellige operationer. Her er en oversigt over nogle af de vigtigste operatorer:.

Aritmetiske Operatorer

JavaScript's aritmetiske operatorer inkluderer følgende:.

Operator Beskrivelse Eksempel Resultat
+ Addition 5 + 2 7
- Subtraktion 5 - 2 3
* Multiplikation 5 * 2 10
/ Division 5 / 2 2.5
% Modulus (Restværdi) 5 % 2 1
++ Inkrement (Forøg med 1) let x = 5; x++ 6
-- Dekrement (Reducer med 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);

Aritmetiske operatorer udfører grundlæggende matematiske operationer på tal. Udover addition og subtraktion kan du udføre operationer som modulus, inkrement og dekrement. Bemærk, at værdien returneret af inkrement eller dekrement varierer afhængigt af, om operatoren er placeret før eller efter operanden.

Tildelingsoperatorer

JavaScript's tildelingsoperatorer inkluderer følgende:.

Operator Beskrivelse Eksempel Resultat
= Tildeling x = 5 x tildeles værdien 5
+= Additionstildeling x += 5 x = x + 5
-= Subtraktionstildeling x -= 5 x = x - 5
*= Multiplikationstildeling x *= 5 x = x * 5
/= Divisionstildeling x /= 5 x = x / 5
%= Modulus-tilordning 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

Tilordningsoperatorer bruges til at tildele værdier til variabler eller opdatere variablernes værdier. Ud over almindelig tilordning findes der tilordningsoperatorer til aritmetiske operationer som addition og modulus.

Sammenligningsoperatorer

JavaScript's sammenligningsoperatorer inkluderer følgende:.

Operator Beskrivelse Eksempel Resultat
== Lig med 5 == "5" true
=== Strengt lig med (Både type og værdi er ens) 5 === "5" false
!= Ikke lig med 5 != "5" false
!== Strengt ikke lig med 5 !== "5" true
> Større end 5 > 2 true
< Mindre end 5 < 2 false
>= Større end eller lig med 5 >= 5 true
<= Mindre end eller lig med 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
  • Sammenligningsoperatorer sammenligner værdier og returnerer enten sandt eller falsk.
  • Lighedsoperatoren (==) konverterer automatisk forskellige typer, om nødvendigt, før sammenligningen udføres. Den strikte lighedsoperator (===) udfører ingen typekonvertering under sammenligningen og returnerer kun true, hvis begge værdier har samme type og samme værdi. Ved at bruge den strikte lighedsoperator (===) kan man undgå fejl forårsaget af utilsigtet typekonvertering, så det anbefales at foretrække dens brug.

Logiske operatorer

JavaScript's logiske operatorer inkluderer følgende:.

Operator Beskrivelse Eksempel Resultat
&& OG (Sandt hvis begge betingelser er opfyldt) true && false false
|| ELLER (Sandt hvis mindst én betingelse er opfyldt) true || false true
! IKKE (Ændrer sandt til falsk og falsk til sandt) !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

Logiske operatorer bruges, når der er flere betingelser, til at evaluere kombinationer af betingelser.

Prioritet for logiske operatorer

I JavaScript evalueres logiske operatorer generelt i rækkefølgen NOT først, efterfulgt af AND og til sidst OR.

NOT har den højeste prioritet

NOT er en unær operator og evalueres med den højeste prioritet.

1console.log(!true || false);  // false
AND har højere prioritet end OR

AND har højere prioritet end OR, så AND-delen evalueres først.

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

På denne måde evalueres AND (&&)-delen først, og dens resultat sendes videre til OR (||).

AND og OR udfører kortslutningsevaluering

JavaScript's AND og OR udfører kortslutningsevaluering. Hvis resultatet kan bestemmes af venstresidens værdi, evalueres højresidens udtryk ikke.

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

I begge tilfælde vil console.log() ikke blive udført.

Etabler eksplicit prioritet

Ved eksplicit at gruppere udtryk med parenteser kan du forhindre misforståelser om prioritet.

1console.log(true || (false && false));  // true
Forskelle mellem naturligt sprog og programfortolkning

Når du bruger logiske operatorer, er det vigtigt at være opmærksom på tvetydigheder i naturligt sprog. For eksempel, når man siger 'hvid hund eller kat', kan det betyde enten 'en hvid hund eller en kat af enhver farve' eller 'en hvid hund eller en hvid kat.'. I kode ville det se sådan ud:.

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

Da naturligt sprog indeholder tvetydigheder som denne, skal man være forsigtig, når man koder eller designer.

Ternær Operator (Betinget Operator)

JavaScript inkluderer en ternær operator (betinget operator).

Operator Beskrivelse Eksempel Resultat
? : Hvis betingelsen er sand, udføres venstre side, ellers udføres højre side betingelse ? hvis sandt : hvis falsk Resultat baseret på betingelsen
1let age = 20;
2let message = age >= 18 ? "Adult" : "Minor";
3console.log(message);  // "Adult"

Det skrives i formen betingelse ? værdi hvis sandt : værdi hvis falsk.

Bitvise Operatorer

JavaScript bitvise operatorer omfatter følgende.

Operator Beskrivelse Eksempel Resultat
& AND 5 & 1 1
| OR 5 | 1 5
^ XOR 5 ^ 1 4
~ NOT ~5 -6
<< Venstre Skift 5 << 1 10
>> Højre skift 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)

Bitoperatører udfører beregninger på tal på bitniveau. De bruges normalt til lavniveau-behandling.

Typeoperatører

JavaScript typeoperatorer omfatter følgende.

Operator Beskrivelse Eksempel Resultat
typeof Returnerer typen af en variabel typeof 123 "number"
instanceof Tjekker, om et objekt tilhører en specifik klasse 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

Typeoperatører bruges til at kontrollere typen af en værdi eller konvertere den til en bestemt type.

typeof-operatoren returnerer typen af en variabel.

instanceof-operatoren kontrollerer, om et objekt tilhører en specifik klasse.

Sammendrag

  • Aritmetiske operatører udfører grundlæggende beregninger.
  • Tildelingsoperatører tildeler eller opdaterer værdier i variabler.
  • Sammenligningsoperatører sammenligner to værdier og returnerer sandt eller falsk.
  • Logiske operatører evaluerer kombinationer af betingelser.
  • Ternære operatører gør det muligt at skrive betingede udtryk i en kortere form end if.
  • Bitvise operatører udfører beregninger på bitniveau.
  • Typeoperatører giver mulighed for at kontrollere typen af en værdi.

Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.

YouTube Video