Division (/)
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 chia (/) tạo ra thương của các toán hạng trong đó toán hạng bên trái là số bị chia và toán hạng bên phải là số chia.
Try it
console.log(12 / 2);
// Expected output: 6
console.log(3 / 2);
// Expected output: 1.5
console.log(6 / "3");
// Expected output: 2
console.log(2 / 0);
// Expected output: Infinity
Cú pháp
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 chia 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 chia 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ố.
Đối với phép chia BigInt, kết quả là thương của hai toán hạng được làm tròn về phía 0, và phần dư bị bỏ qua. Một RangeError được ném ra nếu số chia y là 0n. Điều này là do phép chia số cho 0 trả về Infinity hoặc -Infinity, nhưng BigInt không có khái niệm về vô cực.
Ví dụ
>Chia dùng số
1 / 2; // 0.5
Math.floor(3 / 2); // 1
1.0 / 2.0; // 0.5
2 / 0; // Infinity
2.0 / 0.0; // Infinity, because 0.0 === 0
2.0 / -0.0; // -Infinity
Các giá trị không phải BigInt khác được ép buộc thành số:
5 / "2"; // 2.5
5 / "foo"; // NaN
Chia dùng BigInt
1n / 2n; // 0n
5n / 3n; // 1n
-1n / 3n; // 0n
1n / -3n; // 0n
2n / 0n; // RangeError: BigInt division by zero
Bạn không thể trộn lẫn các toán hạng BigInt và số trong phép chia.
2n / 2; // TypeError: Cannot mix BigInt and other types, use explicit conversions
2 / 2n; // TypeError: Cannot mix BigInt and other types, use explicit conversions
Để thực hiện phép chia 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:
2n / BigInt(2); // 1n
Number(2n) / 2; // 1
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-multiplicative-operators> |