一元加號 (+)

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

一元加法運算子 (+) 位於其運算元之前,其計算結果為其運算元,但如果運算元不是數字,則嘗試將其轉換為數字

試一試

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

語法

js
+x

描述

雖然一元求反 (-) 也可以轉換非數字,但一元加法是轉換為數字的最快和首選方法,因為它不會對數字執行任何其他操作。

一元加法執行的步驟與大多數期望數字的內建方法使用的常規數字強制轉換完全相同。它可以轉換整數和浮點數的字串表示形式,以及非字串值 truefalsenull。支援十進位制和十六進位制(0x 字首)格式的整數。支援負數(但不支援十六進位制)。如果無法解析特定值,則會計算為 NaN。與其他算術運算子(可用於數字和 BigInt)不同,對 BigInt 值使用 + 運算子會丟擲 TypeError

示例

與數字一起使用

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

規範

規範
ECMAScript® 2026 語言規範
# sec-unary-plus-operator

瀏覽器相容性

另見