Das Objekt Math – auf das kann man zählen
Für Berechnungen bietet das JavaScript-Objekt Math alle grundlegenden Möglichkeiten für fortgeschrittene Rechnungen.
Auch hier ist die Großschreibung in Javascript wichtig. In der Konsole können wir direkt den Befehl Math
eingeben. Wir bekommen eine Auswahl der Möglichkeiten, sobald wir direkt nach Math
einen Punkt eingeben (zur Erinnerung – Math ist ein Objekt und über den Punkt können wir die verfügbaren Methoden und Eigenschaften ansprechen).
Math.
Hier können wir nun auswählen. Wählen wir PI aus, erhalten wir als Rückgabe den Wert der Konstante PI „3.141592653589793“.
Math.PI
Man kann auch eine Methode auswählen wie Beispielsweise die Wurzelberechnung. Die Quadratwurzel ist in englischen die „square root“ und dies abgekürzt ist „sqrt“. Genau diese Methode wählen wir aus. Bei Methoden muss zusätzlich auch ein Wert (oder mehrere je nach Methode) mitgegeben werden.
Math.sqrt(9)
Als Ergebnis bekommen wir „3“ – sprich die Wurzel aus 9 ist 3.
Es gibt auch sehr einfache Methoden, die erst auf dem zweiten Blick interessant sind. Wenn wir im folgenden Beispiel mit einer Methode die größte oder kleinste Zahl ermitteln, mag es nicht sofort einsichtig sein, für was das gut sein soll. Aber diese Zahlen können auch durch einen Nutzer eingegeben worden sein. Hier müssen wir also mehrere Werte der Methode übergeben:
Math.max(8,3,6,9,2)
Math.min(8,3,6,9,2)
Bei der ersten Anweisung wird als Ergebnis die größte Zahl mit „9“ und beim zweiten Befehl die kleinste Zahl mit „2“ ausgegeben.
Bei der Programmierung von Spielen wird man dazu öfters eine Zufallszahl benötigen. Auch hier bietet und das Math-Objekt alle Möglichkeiten.
Math.random()
Als Rückgabe erhalten wir eine Zahl zwischen 0 und 1 – irgendwas mit vielen Nachkommastellen. Benötigen wir aber größere Zahlen, z.B. zwischen 0 und 100 multiplizieren wir unseren Rückgabewert einfach:
Math.random()*100
Und nun wollen wir eine Zufallszahl zwischen 0 und 100 ohne Nachkommastellen. Dazu bietet uns das Math-Objekt hierfür über Math.floor
eine Möglichkeit. Der Übersichthalber nutzen wir eine Variable um über 2 Schritte zu gehen – es geht auch in einem Schritt. Hier nun beide Varianten:
let zufall = Math.random()*100
Math.floor(zufall)
// oder in einem Schritt
Math.floor(Math.random()*100)
Konstanten im Math-Objekt: PI, E, Logarithmus
Das Math-Objekt bietet Konstanten wie PI, E (eulersche Zahl e = 2,7182818…).
Diese sind sofort erkennbar an der Großschreibung. Dies ist eine typische Festlegung/Konvention auch bei sehr vielen anderen Programmiersprachen. Daher immer die Großschreibung nutzen (technisch funktioniert es auch mit Kleinschreibung, nur dann outet man sich als Wenigwisser oder Rebell).
Hier alle alphabetisch sortiert:
Eigenschaft | Beschreibung |
---|---|
E | eulersche Zahl (gerundet 2,718) |
LN2 | natürlichen Logarithmus von 2 (gerundet 0,693) |
LN10 | natürlichen Logarithmus von 10 (gerundet. 2.302) |
LOG2E | Logarithmus zur Basis 2 von e{\displaystyle \mathrm {e} } (gerundet 1,443) |
LOG10E | Logarithmus zur Basis 10 von e (gerundet 0,434) |
PI | Die Zahl PI (gerundet 3,14) |
SQRT1_2 | Quadratwurzel aus 1/2 (gerundet 0,707) |
SQRT2 | Quadratwurzel aus 2 (gerundet 1,414) |
Und es gibt noch zahlreiche Methoden, die einem über das Objekt Math zur Verfügung stehen:
Math.abs()
Math.acos()
Math.acosh()
Math.asin()
Math.asinh()
Math.atan()
Math.atan2()
Math.atanh()
Math.cbrt()
Math.ceil()
Math.clz32()
Math.cos()
Math.cosh()
Math.exp()
Math.expm1()
Math.floor()
Math.fround()
Math.hypot()
Math.imul()
Math.log()
Math.log10()
Math.log1p()
Math.log2()
Math.max()
Math.min()
Math.pow()
Math.random()
Math.round()
Math.sign()
Math.sin()
Math.sinh()
Math.sqrt()
Math.tan()
Math.tanh()
Math.trunc()