edubun
Deutsch

Zahlen und Rechnen

In JavaScript ergibt 0.1 + 0.2 den Wert 0.30000000000000004, und 17 % 5 ergibt 2. Beides ergibt Sinn, sobald du weißt, wie Zahlen gespeichert werden und was % bedeutet.

Die Rechenoperatoren

Das meiste, was Computer tun, läuft auf Rechnen hinaus, und JavaScript schreibt es fast so, wie du es auf Papier tun würdest. Die Zeichen, die die Arbeit erledigen, heißen Operatoren. Fünf davon kennst du schon, zwei sind neu:

OperatorBedeutungBeispielErgebnis
+addieren7 + 29
-subtrahieren7 - 25
*multiplizieren7 * 214
/dividieren7 / 23.5
%Rest7 % 21
**Potenz7 ** 249

Multipliziert wird mit einem Sternchen, weil der Buchstabe x mit einer Variablen namens x verwechselt würde. Division ergibt immer das genaue Ergebnis, mit Nachkommastellen: 7 / 2 ist 3.5, nicht 3. Der Restoperator % teilt und behält nur, was übrig bleibt. 17 % 5 ist 2, weil 5 dreimal in 17 passt (15) und 2 übrig bleiben. Das klingt nach einer Kuriosität, ist aber einer der meistgenutzten Operatoren beim Programmieren. Eine Zahl ist genau dann gerade, wenn n % 2 gleich 0 ist, und minutes % 60 ergibt die Minuten, die übrig bleiben, wenn man die vollen Stunden abzieht.

Rangfolge der Rechenarten

JavaScript hält sich an dieselbe Reihenfolge wie die Schulmathematik. Zuerst kommen Potenzen, dann Multiplikation, Division und Rest, dann Addition und Subtraktion. Operatoren gleichen Rangs werden von links nach rechts abgearbeitet, außer ** , das von rechts nach links arbeitet. Klammern gehen allem vor. Setz sie also im Zweifel: Sie kosten nichts und machen die Absicht für die nächste Leserin klar.

console.log(2 + 3 * 4);      // 14
console.log((2 + 3) * 4);    // 20
console.log(20 - 6 / 2);     // 17
console.log(2 ** 3 * 5);     // 40

Kurzformen zum Aktualisieren einer Variablen

Eine Variable mit ihrem eigenen Wert zu aktualisieren, ist so häufig, dass es Kurzformen dafür gibt. x += 5 heißt x = x + 5, und es gibt die passenden Formen -=, *= und /=. Für genau eins mehr oder weniger gibt es eine noch kürzere Form: x++ addiert 1 und x-- zieht 1 ab. ++ wirst du in Schleifen ständig sehen.

let coins = 10;
coins += 5;      // 15
coins *= 2;      // 30
coins--;         // 29
console.log(coins);   // 29

Die Math-Helfer

JavaScript bringt ein eingebautes Objekt namens Math mit, das fertige Zahlenwerkzeuge enthält. Math.round(2.5) rundet auf die nächste ganze Zahl (3), Math.floor(2.9) rundet immer ab (2), und Math.ceil(2.1) rundet immer auf (3). Math.max(4, 9, 2) ergibt den größten seiner Werte und Math.min den kleinsten. Math.sqrt(81) ist die Quadratwurzel, 9, und Math.PI ist die Zahl π, ungefähr 3.14159. Math.floor und % sind ein gutes Paar: Bei 135 Minuten ist Math.floor(135 / 60) gleich 2 Stunden und 135 % 60 gleich 15 Minuten.

Warum 0.1 + 0.2 nicht genau 0.3 ist

JavaScript speichert jede Zahl binär mit einer festen Menge Speicher, nach dem Format IEEE 754 mit doppelter Genauigkeit, das der ECMAScript-Standard vorschreibt. Manche gewöhnlichen Dezimalzahlen wie 0.1 lassen sich binär nicht exakt schreiben, so wie sich 1/3 im Dezimalsystem nicht exakt schreiben lässt. Die winzigen Rundungsfehler bleiben meist verborgen, aber manchmal zeigen sie sich: 0.1 + 0.2 gibt 0.30000000000000004 aus. Das ist kein Fehler in deinem Code. Wenn du Menschen Geldbeträge oder Messwerte zeigst, runde das Ergebnis, zum Beispiel mit (0.1 + 0.2).toFixed(2), was den String "0.30" ergibt. Ganze Zahlen bis etwa neun Billiarden werden exakt gespeichert, Zählen ist also nie betroffen.

Durchgerechnete Beispiele

Beispiel 1. Der Durchschnitt von 80, 90 und 85 ist (80 + 90 + 85) / 3. Ohne Klammern teilt 80 + 90 + 85 / 3 nur die 85 und ergibt etwa 198.3. Beispiel 2. Ist 2024 ein Vielfaches von 4? 2024 % 4 ist 0, also ja. Beispiel 3. 50 Bonbons auf 6 Kinder verteilen: Math.floor(50 / 6) ergibt 8 für jedes und 50 % 6 ergibt 2 übrig.

OperatorEin Zeichen, das mit Werten arbeitet: + - * / % **
%Rest nach der Division: 17 % 5 ist 2
**Potenz: 2 ** 3 ist 8
+=x += 5 heißt x = x + 5
++Genau 1 zu einer Variablen addieren
Math.floorAuf eine ganze Zahl abrunden
Math.roundAuf die nächste ganze Zahl runden
toFixed(2)Eine Zahl mit 2 Nachkommastellen formatieren, als String
  1. Was gibt das aus?
    console.log(2 + 3 * 4);
  2. Was gibt das aus?
    console.log((2 + 3) * 4);
  3. Was gibt das aus?
    console.log(17 % 5);
  4. Was gibt das aus?
    console.log(9 / 2);
  5. Was gibt das aus?
    console.log(2 ** 5);
  6. Was gibt das aus?
    let x = 10;
    x += 4;
    x *= 2;
    console.log(x);
  7. Was gibt das aus?
    let n = 5;
    n++;
    n++;
    n--;
    console.log(n);
  8. Was gibt das aus?
    console.log(Math.floor(7.9), Math.ceil(7.1));
    • 8 8
    • 7 8
    • 7 7
  9. Was gibt das aus?
    console.log(Math.max(3, 11, 6) - Math.min(3, 11, 6));
  10. Was gibt das aus?
    console.log(10 - 4 - 3);
  11. Welcher Ausdruck ist für jede gerade Zahl n wahr?
    • n % 2 === 0
    • n / 2 === 0
    • n % 2 === 1
  12. Was gibt das aus?
    console.log((0.1 + 0.2).toFixed(2));
Das Wichtigste
  • + - * / funktionieren wie in Mathe; / behält Nachkommastellen.
  • % ergibt den Rest; n % 2 === 0 heißt, n ist gerade.
  • ** ist die Potenz. Zuerst Klammern, dann **, dann * / %, dann + -.
  • x += 5 und x++ sind Kurzformen, um x zu aktualisieren.
  • Math.floor, Math.round, Math.ceil, Math.max, Math.min und Math.PI.
  • Dezimalzahlen können winzige Rundungsfehler tragen; zum Anzeigen toFixed verwenden.
Quellen zu diesem Kurs (2)
  • MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
  • Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)

Abgerufen: 2026-10-17