Unary 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 wertet diesen
aus, versucht aber, ihn in eine Zahl umzuwandeln, wenn er es nicht bereits 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
+x
Beschreibung
Obwohl die unäre Negation (-
) auch Nicht-Zahlen konvertieren kann, ist der unäre Plus-Operator die schnellste und bevorzugte Methode, etwas in eine Zahl zu konvertieren, da er keine weiteren Operationen an der Zahl durchführt.
Der unäre Plus-Operator führt exakt die gleichen Schritte durch wie die normale Zahlumwandlung, die von den meisten eingebauten Methoden, die Zahlen erwarten, verwendet wird. Er kann Zeichenfolgen, die Ganzzahlen und Fließkommazahlen repräsentieren, sowie die Nicht-String-Werte true
, false
und null
konvertieren. Ganzzahlen im dezimalen und hexadezimalen (0x
-präfixierten) Format werden unterstützt. Negative Zahlen werden unterstützt (nicht aber im Hexadezimalformat). Wenn ein bestimmter Wert nicht geparst werden kann, wird er zu NaN
ausgewertet. Anders als andere arithmetische Operatoren, die sowohl mit Zahlen als auch mit BigInts arbeiten, führt die Verwendung des +
Operators bei BigInt-Werten zu einem TypeError
.
Beispiele
Verwendung mit Zahlen
const x = 1;
const y = -1;
console.log(+x);
// 1
console.log(+y);
// -1
Verwendung mit Nicht-Zahlen
+true // 1
+false // 0
+null // 0
+[] // 0
+function (val) { return val; } // NaN
+1n // throws TypeError: Cannot convert BigInt value to number
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-unary-plus-operator |