一元正號運算子(+)

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

瀏覽器相容性

BCD tables only load in the browser

參見