一元负号 (-)

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

浏览器兼容性

另见