乗算演算子 (*)
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
乗算演算子 (*) は、オペランドの積を生成します。
試してみましょう
console.log(3 * 4);
// 予想される結果: 12
console.log(-3 * 4);
// 予想される結果: -12
console.log("3" * 2);
// 予想される結果: 6
console.log("foo" * 2);
// 予想される結果: NaN
構文
js
x * y
解説
* 演算子は、数値と長整数の 2 種類のオペランドに対してオーバーロードされています。まず両オペランドを数値型に変換し、それらの型を検査します。両オペランドが長整数になった場合、長整数の乗算を実行します。そうでない場合は数値の乗算を実行します。一方のオペランドが長整数になり、もう一方が数値になった場合は、TypeError が発生します。
例
>数値を用いた乗算
js
2 * 2; // 4
-2 * 2; // -4
Infinity * 0; // NaN
Infinity * Infinity; // Infinity
非数との乗算
js
"foo" * 2; // NaN
"2" * 2; // 4
長整数を用いた乗算
js
2n * 2n; // 4n
-2n * 2n; // -4n
乗算で長整数と数値のオペランドを混在させることはできません。
js
2n * 2; // TypeError: Cannot mix BigInt and other types, use explicit conversions
2 * 2n; // TypeError: Cannot mix BigInt and other types, use explicit conversions
長整数と長整数以外で乗算を行うには、どちらかのオペランドを変換してください。
js
2n * BigInt(2); // 4n
Number(2n) * 2; // 4
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-multiplicative-operators> |