Multiplication (*)
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 nhân (*) tạo ra tích của các toán hạng.
Try it
console.log(3 * 4);
// Expected output: 12
console.log(-3 * 4);
// Expected output: -12
console.log("3" * 2);
// Expected output: 6
console.log("foo" * 2);
// Expected output: NaN
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 nhân 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 nhân 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ụ
>Nhân dùng số
2 * 2; // 4
-2 * 2; // -4
Infinity * 0; // NaN
Infinity * Infinity; // Infinity
Các giá trị không phải BigInt khác được ép buộc thành số:
"foo" * 2; // NaN
"2" * 2; // 4
Nhân dùng BigInt
2n * 2n; // 4n
-2n * 2n; // -4n
Bạn không thể trộn lẫn các toán hạng BigInt và số trong phép nhân.
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 nhân 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); // 4n
Number(2n) * 2; // 4
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-multiplicative-operators> |