このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

乗算演算子 (*)

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

ブラウザーの互換性

関連情報