一元正號運算子(+)

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.

一元正號運算子(+)置於運算元之前並取其數值。如果可以,亦會將之轉為數字。

嘗試一下

語法

js
+x

詳細說明

一元負號運算子(-)也可以轉換非數字,但正號運算子卻是將運算元轉換為數字的最快和首選方法。

它不會對該運算元進行任何其他操作。

它可以將字串轉為整數和浮點數(如果字串值符合);亦可使用在非字串的運算元,例如 truefalsenull

正號運算子支持十進制和十六進制整數(0x 前綴)、負數(雖然不適用於十六進制)格式。

若用於 BigInt 類型的值,會觸發 TypeError。

如果無法解析值,它會回傳 NaN

範例

使用於數字

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

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

使用於非數字上

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

規範

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

瀏覽器相容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Unary plus (+)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

參見