一元負號 (-)

Baseline 已廣泛支援

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

一元取反運算子 (-) 置於其運算元之前,並對其進行取反。

試一試

const x = 4;
const y = -x;

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

const a = "4";
const b = -a;

console.log(b);
// Expected output: -4

語法

js
-x

描述

- 運算子對兩種型別的運算元進行了過載:數字和 BigInt。它首先將運算元強制轉換為數值並測試其型別。如果運算元變為 BigInt,則執行 BigInt 取反;否則,執行數字取反。

示例

數字取反

js
const x = 3;
const y = -x;
// y is -3; x is 3

非數字取反

一元取反運算子可以將非數字轉換為數字。

js
const x = "4";
const y = -x;

// y is -4

BigInts 可以使用一元取反運算子進行取反。

js
const x = 4n;
const y = -x;

// y is -4n

規範

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

瀏覽器相容性

另見