Subtraction (-)

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.

Operator trừ (-) trừ hai toán hạng, tạo ra hiệu của chúng.

Try it

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

Cú pháp

js
x - y

Mô tả

Operator - được nạp chồng cho hai kiểu toán hạng: số và BigInt. Đầu tiên nó ép buộc cả hai toán hạng thành các giá trị số và kiểm tra kiểu của chúng. Nó thực hiện phép trừ BigInt nếu cả hai toán hạng đều trở thành BigInt; nếu không, nó thực hiện phép trừ số. Một TypeError được ném ra nếu một toán hạng trở thành BigInt nhưng toán hạng kia trở thành số.

Ví dụ

Trừ dùng số

js
5 - 3; // 2
3 - 5; // -2

Các giá trị không phải BigInt khác được ép buộc thành số:

js
"foo" - 3; // NaN; "foo" được chuyển đổi thành số NaN
5 - "3"; // 2; "3" được chuyển đổi thành số 3

Trừ dùng BigInt

js
2n - 1n; // 1n

Bạn không thể trộn lẫn các toán hạng BigInt và số trong phép trừ.

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

Để thực hiện phép trừ với BigInt và một giá trị không phải BigInt, hãy chuyển đổi một trong hai toán hạng:

js
2n - BigInt(1); // 1n
Number(2n) - 1; // 1

Thông số kỹ thuật

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

Tương thích trình duyệt

Xem thêm