Unäres Plus (+)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der unäre Plus-Operator (+) steht vor seinem Operanden und bewertet diesen Operanden, versucht jedoch, ihn in eine Zahl umzuwandeln, falls er nicht bereits eine ist.

Probieren Sie es aus

const x = 1;
const y = -1;

console.log(+x);
// Expected output: 1

console.log(+y);
// Expected output: -1

console.log(+"");
// Expected output: 0

console.log(+true);
// Expected output: 1

console.log(+false);
// Expected output: 0

console.log(+"hello");
// Expected output: NaN

Syntax

js
+x

Beschreibung

Obwohl unäre Negation (-) auch Nicht-Zahlen umwandeln kann, ist unäres Plus die schnellste und bevorzugte Methode, um etwas in eine Zahl umzuwandeln, da es keine weiteren Operationen an der Zahl durchführt.

Unäres Plus führt dieselben Schritte wie die normale Zahlenumwandlung aus, die von den meisten eingebauten Methoden, die Zahlen erwarten, verwendet wird. Es kann Zeichenfolgenrepräsentationen von Ganzzahlen und Fließkommazahlen sowie die Nicht-Zeichenfolgenwerte true, false und null umwandeln. Ganzzahlen im Dezimal- und Hexadezimalformat (mit 0x-Präfix) werden unterstützt. Negative Zahlen werden unterstützt (jedoch nicht für Hexadezimalzahlen). Falls ein bestimmter Wert nicht geparst werden kann, wird er zu NaN ausgewertet. Im Gegensatz zu anderen arithmetischen Operatoren, die sowohl mit Zahlen als auch mit BigInts arbeiten, wirft die Verwendung des + Operators auf BigInt-Werten einen TypeError.

Beispiele

Nutzung mit Zahlen

js
const x = 1;
const y = -1;

console.log(+x);
// 1
console.log(+y);
// -1

Nutzung mit Nicht-Zahlen

js
+true  // 1
+false // 0
+null  // 0
+[]    // 0
+function (val) { return val; } // NaN
+1n    // throws TypeError: Cannot convert BigInt value to number

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-unary-plus-operator

Browser-Kompatibilität

Siehe auch