Arbeiten mit Operatoren

Man will mit Javascript nicht nur verschiedene Daten darstellen, sondern auch mit Ihnen arbeiten, beispielsweise um einen Spielstand zu errechnen, den Gesamtwert eines Warenkorbs errechnen oder nach dem Einloggen den Namen des Users anzuzeigen. Dazu verwendet man Operatoren.

Ausdruck, Operand, Operator

Eine mathematische Formel nennt man Ausdruck. Ein Ausdruck liefert immer ein Ergebnis. In einem Ausdruck kommen Operanden und Operatoren vor.

Audruck
3 + 4
Operand Operator Operand

Literale

Die Operanden können Variablen oder einfache Werte sein. Einfache Werte nennt man Literale. Literal bedeutet nichts weiter, als dass der gesamte Wert in einem Schritt aufgeschrieben
wird, statt ihn erst in mehreren Schritten aufzubauen.

x = 3;
x = "Hallo";
x = ["Haus","Baum","Straßenlampe"];

Anweisung / Befehl / statement

Desweiteren gibt es in Programmiersprachen Anweisungen, die man nicht mit Ausdrücken verwechseln sollte. Eine Anweisung ist ein Befehl, der mit Semikolon abgeschlossen wird.

Anweisung

let x = 5;

Codeblock

Mehrere Anweisungen können als Codeblöcke in geschweiften Klammern eingefasst werden.

{
Anweisung;
Anweisung;
Anweisung;
}

Operatoren

Ein Operator, der sich nur auf einen Wert bezieht nennt man unären Operator (++), einen Operator der sich auf 2 Werte bezieht nennt man binären Operator (+). Es gibt in Javascript auch Operatoren, die sich auf 3 Wert beziehen, den ternären Operator.

Arithmetische Operatoren

Rechenoperatoren oder arithmetische Operatoren arbeiten mit Zahlen dem Datentyp Number.

Punktrechnung geht vor Strichrechnung. In Klammern gefasste Rechenoperationen werden zusammengefasst ausgerechnet.

Arithmetische Operatoren
Rechenart Zeichen Beispiel Info
Addition + let x = 3+2; Ergebnis 5
Subtraktion - let x = 4-1; Ergebnis 3
Multiplikation * let x = 3 * 5; Ergebnis 15
Division / let x = 6 / 2; Ergebnis 3
Modulo % let x = 13 % 2; Der Restwert einer Division wird zurückgegeben. In diesem Beispiel ist es der Wert 1. 13 / 2 ist 6 Rest 1 Beispiel
Inkrement ++ x++; Der vorhandene Wert von x wird um 1 erhöht.
aus 2 wird 3
Dekrement -- x-- Der vorhandene Wert wird um 1 verringert.
Aus 2 wird 1;

Inkrementoren & Dekrementoren

Oft will man den Wert einer Variablen um 1 erhöhen oder verringern.

Mit Inkrementoren kann man einen vorhandenen Wert um eins erhöhen mit Dekrementoren kann man einen vorhandenen Wert um eins verringern.

let x = 5;
x = x + 1;

Stattdessen kann man schreiben.

let x = 5;
x++;

Präinkrement & Postinkrement

Wenn man Inkrement oder Dekrement innerhalb eines Ausdrucks nutzt und möchte, dass der Wert vor dem Auswerten des Ausdrucks verringert oder erhöht wird, schreibt man den Inkrementor oder Dekrementor vor die Varibale. Das nennt man Präinkrement oder Prädekrement. Wir sehen im folgendem Beispiel, dass erst beim zweiten console.log der Wert von x um 1 erhöht wurde (Postinkrement). Im dritten console.log sieht man, dass es schon im console.log Aufruf erhöht wurde (Präinkrement). Beispiel

let x = 5;
console.log(x++); //5
console.log(x); //6
console.log(++x); //7

Operatoren mit Zuweisung

Will man den Wert einer Variablen um einen bestimmten Betrag erhöhen oder verringern, so könnte man beispielsweise schreiben:

let x = 5;
x = x + 3;

Stattdessen kann man Rechenoperatoren mit Zuweisung nutzen.

let x = 5;
x += 3;

Zeichen Beispiel Langform Info
Rechenoperatoren mit Zuweisung
+= x += 2 x = x +2 Der vorhandene Wert wird um einen bestimmten Wert erhöht.
Aus 2 wird 4
-= x -= 2 x=x-2 Vom vorhandenen Wert wird ein bestimmter Wert subtrahiert.
Aus 2 wird 0
/= x /= 2 x=x/2 Der vorhandene Wert wird durch einen bestimmten Wert dividiert.
Aus 2 wird 1;
*= x *= 2 x=x*2 Der vorhandene Wert wird mit einem bestimmten Wert multipliziert.
Aus 2 wird 4;
%= x %= 2 x=x%2 Der Rest der Division wird zugewiesen.
Aus 2 wird 0;

Operatoren für Zeichenketten

Zeichenketten kann man aneinanderreihen mit dem + Operator. Man nennt das Konkatenation.

    let gruss= "Hallo ";
    let name = "Willi";
    let ausgabe = gruss + name;
    ausgabe = gruss + name + " Hubert";

Beachten Sie, dass der String 'Hallo ' mit einem Leerzeichen am Ende versehen wurde.
Man könnte stattdessen auch ein Leerzeichen verknüpfen.

let ausgabe = gruss + ' '+ name;

Desweiteren kann man den Zuweisungsoperator verwenden += um einen String um einen weiteren String zu erweitern.

let name = 'Willi ';
    name += 'Huber'; // 'Willi Huber' 

Logische Operatoren

Man kann mehrere boolsche Werte verknüpfen, um zu überprüfen, ob beide Werte true sind, oder nur einer von beiden. Außerdem kann man einen Wert in das Gegenteil umwandeln.

   let a = true;
   let b = false;
   let c = a && b; // Ergebnis false
   

Das Ausrufezeichen ist ein unärer Operator er benötigt nur einen Wert.

let d = !true // Ergebnis false
Logische Operatoren
&& logisches Und Beides muss erfüllt sein
|| oder Eins von beiden muss erfüllt sein
! Negation,

Verneinung aus true wird false, aus false wird true

Es ist ein unärer Operator weil er sich nur auf einen Wert bezieht.

Vergleichsoperatoren

Vergleichsoperatoren liefern true oder false und können in if-Strukturen eingesetzt werden.
Weitere Vergleichsoperatoren(weitere Infos bei Selfhtml Vergleichsoperatoren)

Vergleichsoperatoren
== gleich
!= ungleich
> größer als
< kleiner als
>= größer gleich
<= kleiner gleich

===

!==

Gleichheit oder Ungleichheit können Sie nicht nur mit == bzw. !=, sondern auch mit === bzw. !== abprüfen. In diesem Fall werden die Werte zusätzlich auf ihren Datenntyp hin überprüft.

var no=24;
if(no === "24") Rückgabewert false
if(no == "24") Rückgabewert true

Ternärer Auswahloperator

In einer bedingten Anweisung kann man je nach Abfrageergebnis Anweisungen ausführen. Das macht man mit einer if-else-Struktur. Eine kürzere Schreibweise erreicht man mit dem ternären Auswahloperator. Er heißt ternärer Auwahloperator weil er sich auf 3 Operanden bezieht.

   let alter = 14;
   if(alter >= 18){
       console.log("Herzlich willkommen.")
   }else{
       console.log("Eintritt erst ab 18.")
   }

Es folgt die Alternative mit dem ternären Auswahloperator. Man beachte die Schreibweise mit Fragezeichen ? und Doppelpunkt :

let alter = 30;
(alter >= 18) ? console.log("Herzliche Willkommen") : console.log("Eintritt erst ab 18");

Bedingung ? True-Anweisung : Else-Anweisung;

Bitweise Verschiebungsoperatoren

Bitweise Verschiebungsoperatoren

Hiermit werden Binärzahlen um Stellen nach links oder rechts verschoben und mit Nullen aufgefüllt. Zum Beispiel die Zahl 42 hat die Binärzahl 101010

zahl = 42; Dezimalzahl 42 101010
zahl << 1 1 Stelle nach links entspricht einer Multiplikation mit 2. 1010100
zahl >>1; 1 Stelle nach rechts entspricht teilen durch 2 (ganzzahlig) 10101
zahl << 2; 2 Stellen entspricht multiplizieren mit 2 mal 2. 10101000
zahl >>> 3; 3 Klammern bedeutet es wird auf jeden Fall mit Nullen aufgefüllt, bei größeren Zahlen könnte es ja auch sein, dass eine 1 folgt 000101
Bitoperatoren

Bitoperatoren verschieben nicht, sondern verknüpfen Bits direkt miteinander. Nehmen wir als Beispiel die beiden Operanden a und b mit folgenden Werten
a= 10; // Bit:1010
b=12; //Bit:1100.

10
12

Diese beiden Bit Operanden werden Stelle für Stelle verglichen. 1010
1100
a & b Wenn beide Operanden an der gleichen Stelle eine 1 stehen haben erscheint eine 1. 1000
a | b Bitweiser oder Operator. Es erscheint nur dann eine 0, wenn auf beiden Seiten an gleicher Stelle eine 0 steht. 1110
a^b xor ein ausschließender Operator, wir erhalten eine 0 wenn auf beiden Seiten der gleiche Wert steht und eine 1 wenn auf beiden Seiten etwas verschiedenes steht. 0110
a ~ Der Komplementäroperator wird nur auf einen Operanden angesetzt und dieser kehrt die Werte um. Eine 1 wird zur 0 und eine 0 zur 1 0101

 


 

Javascript Tipps