このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
除算演算子 (/)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
除算演算子 (/) は、左のオペランドを被除数とし、右のオペランドを除数としたオペランド同士の除算結果を生成します。
In this article
試してみましょう
console.log(12 / 2);// 予想される結果: 6console.log(3 / 2);// 予想される結果: 1.5console.log(6 / "3");// 予想される結果: 2console.log(2 / 0);// 予想される結果: Infinity構文
js
x / y解説
/ 演算子は、数値と長整数の 2 種類のオペランドに対してオーバーロードされています。まず両オペランドを数値型に変換し、それらの型を検査します。両オペランドが長整数になった場合、長整数の除算を実行します。そうでない場合は数値除算を実行します。一方のオペランドが長整数になり、もう一方が数値になった場合は、TypeError が発生します。
長整数の除算では、結果は両オペランドの商を0方向に切り捨てた値となり、余りは破棄されます。除数y が0n の場合、RangeError が発生します。これは数値除算で 0 を割るとInfinity または-Infinity を返すのに対し、長整数には無限大の概念が存在しないためです。
例
>基本的な除算
js
1 / 2; // 0.5Math.floor(3 / 2); // 11.0 / 2.0; // 0.52 / 0; // Infinity2.0 / 0.0; // Infinity, because 0.0 === 02.0 / -0.0; // -Infinity長整数以外の値は数値に変換されます。
js
5 / "2"; // 2.55 / "foo"; // NaN長整数を使用した除算
js
1n / 2n; // 0n5n / 3n; // 1n-1n / 3n; // 0n1n / -3n; // 0n2n / 0n; // RangeError: BigInt division by zero除算で長整数と数値オペランドが混在させることはできません。
js
2n / 2; // TypeError: Cannot mix BigInt and other types, use explicit conversions2 / 2n; // TypeError: Cannot mix BigInt and other types, use explicit conversions長整数と長整数以外による除算を行うには、どちらかのオペランドを変換してください。
js
2n / BigInt(2); // 1nNumber(2n) / 2; // 1仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-multiplicative-operators> |