减法(-)

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.

减法-)运算符将两个操作数相减,并产生两者之差。

尝试一下

console.log(5 - 3);
// Expected output: 2

console.log(3.5 - 5);
// Expected output: -1.5

console.log(5 - "hello");
// Expected output: NaN

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

语法

js
x - y

描述

减法运算符将两个操作数转换为数值,并根据两个操作数的类型执行数字减法或 BigInt 减法。如果类型不匹配,则抛出 TypeError

示例

数值减法

js
// Number - Number -> subtraction
5 - 3; // 2

// Number - Number -> subtraction
3 - 5; // -2

非数值减法

js
// String - Number -> subtraction
"foo" - 3; // NaN; "foo" is converted to the number NaN

// Number - String -> subtraction
5 - "3"; // 2; "3" is converted to the number 3

BigInt 减法

js
// BigInt - BigInt -> subtraction
2n - 1n; // 1n

你不能在减法中混合使用 BigInt 和数字操作数。

js
2n - 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
2 - 1n; // TypeError: Cannot mix BigInt and other types, use explicit conversions

规范

Specification
ECMAScript® 2025 Language Specification
# sec-subtraction-operator-minus

浏览器兼容性

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
Subtraction (-)

Legend

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

Full support
Full support

参见