HOWTO · JavaScript

Quadrieren einer Zahl in JavaScript

Dieses Tutorial erklärt, wie man eine Zahl in JavaScript quadriert

Auf dieser Seite

Um einen Wert in JavaScript zu quadrieren, erhebst du ihn mit number ** 2 in die zweite Potenz. Zum Beispiel ergibt 5 ** 2 den Wert 25. Für gewöhnliche Werte vom Typ Number ist das die klarste Schreibweise; auch Multiplikation und Math.pow() sind möglich.

Eine Number in JavaScript quadrieren

Das Quadrat eines Werts ist sein Produkt mit sich selbst. Der Typ Number von JavaScript ist die übliche Wahl für alltägliche Berechnungen, einschließlich ganzer Zahlen und Dezimalzahlen. Das folgende eigenständige Beispiel zeigt den direkten Ausdruck und gibt sein Ergebnis aus:

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

const number = 5;
console.log(number ** 2);

Der Wert nach ** ist der Exponent. Mit 2 quadrierst du einen Wert, mit 3 bildest du seine dritte Potenz; ein anderer Exponent ergibt eine andere Potenz. Die Operation funktioniert auch mit negativen und gebrochenen Werten vom Typ Number; beim Quadrieren eines negativen Werts entsteht beispielsweise ein nichtnegatives Ergebnis. Zahlen in JavaScript verwenden Gleitkommaarithmetik. Daher bleiben bei sehr großen Zahlen oder präzisen Dezimalberechnungen möglicherweise nicht alle mathematischen Ziffern erhalten.

Den Potenzierungsoperator verwenden

Das Token ** ist der Potenzierungsoperator und keine Methode. Sein linker Operand ist die Basis, sein rechter der Exponent. Daher drückt base ** 2 das Quadrieren direkt aus. Bei einer Variablen kannst du den Ausdruck wie jede andere Berechnung zuweisen:

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

const base = 8;
const squared = base ** 2;
console.log(squared);

Schreibe eine negative Basis in einem Literal mit Klammern: (-3) ** 2 quadriert minus drei. Ohne Klammern werden unäre Negation und Potenzierung nicht gleich gruppiert; -3 ** 2 ist ein Syntaxfehler. Ist der Wert bereits in einer Variablen gespeichert, benötigt value ** 2 keine zusätzlichen Klammern.

Multiplikation oder Math.pow() verwenden

Du kannst einen Wert auch mit sich selbst multiplizieren. Das ist gut lesbar, wenn du die Rechenoperation ausdrücklich beschreiben möchtest; bei ** ist dagegen der Exponent sichtbar. Die ältere eingebaute Funktion Math.pow(base, exponent) drückt dieselbe Beziehung zwischen Basis und Exponent aus und ist weiterhin in Code nützlich, der diesem Stil folgt.

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

const number = 5;
const byMultiplication = number * number;
const byMathPow = Math.pow(number, 2);
console.log(byMultiplication, byMathPow);

Bei gewöhnlichen Eingaben vom Typ Number berechnen alle drei Schreibweisen eine Potenz anhand der Gleitkommadarstellung von JavaScript. Wähle die Schreibweise, die am besten zum umgebenden Code passt; keine dieser Alternativen ermöglicht exakte Dezimalarithmetik mit beliebiger Genauigkeit.

Das Quadrieren in eine wiederverwendbare Funktion verpacken

Wenn du dieselbe Operation an mehreren Stellen benötigst, fasse sie in einer Funktion zusammen. Eine benannte Funktion eignet sich für eine wiederverwendbare Deklaration; eine Pfeilfunktion ist eine kompakte Alternative, auch für Callbacks. Die folgenden Beispiele definieren jeweils eine Variante und rufen sie auf:

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

function squareNumber(value) {
  return value ** 2;
}

console.log(squareNumber(6));
const square = (value) => value ** 2;
console.log(square(6));

Beide Funktionen nehmen einen Wert entgegen und geben sein Quadrat zurück. Sie prüfen oder konvertieren ihre Eingabe nicht. Übergebe ihnen daher einen Wert, dessen Zahlenverhalten deinen Erwartungen entspricht. Wird beispielsweise ein String implizit konvertiert und anschließend multipliziert, kann das zu überraschenden Ergebnissen führen. Konvertiere und prüfe externe Eingaben bei Bedarf, bevor du die Hilfsfunktion aufrufst.

BigInt-Werte quadrieren, wenn exakte Ganzzahlpräzision wichtig ist

Werte vom Typ Number in JavaScript stellen Ganzzahlen nur bis einschließlich Number.MAX_SAFE_INTEGER (9,007,199,254,740,991) exakt dar. Muss die Ganzzahlarithmetik auch außerhalb dieses Bereichs exakt bleiben, verwende von Anfang an BigInt. Hänge an ein Ganzzahl-Literal das Suffix n an und verwende dann denselben Potenzierungsoperator:

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

const largeInteger = 9007199254740993n;
const squared = largeInteger ** 2n;
console.log(squared);

Ein Exponent vom Typ BigInt muss ebenfalls vom Typ BigInt sein, daher verwendet das Beispiel 2n. BigInt unterstützt Ganzzahlen, aber keine gebrochenen Zahlen. JavaScript erlaubt es nicht, bei einer Rechenoperation Operanden vom Typ BigInt und Number zu mischen. Konvertiere bei Bedarf bewusst und beachte, dass eine Konvertierung bereits ungenauer Werte vom Typ Number verlorene Ziffern nicht wiederherstellen kann. Verwende Number für gewöhnliche Zahlenberechnungen und BigInt, wenn exakte Berechnungen mit großen Ganzzahlen erforderlich sind.