Spec-Zone.ru › JavaScript

Деление (/)

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Оператор деления (/) выдает частное своих операндов, где левый операнд является делимым, а правый операнд — делителем.

Попробуйте

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

Синтаксис

x / y

Описание

Оператор / перегружен для двух типов операндов: number и BigInt. Сначала он приводит оба операнда к числовым значениям и проверяет их типы. Он выполняет деление BigInt, если оба операнда становятся BigInt; в противном случае выполняется числовое деление. Выбрасывается TypeError, если один операнд становится BigInt, а другой — числом.

При делении BigInt результат представляет собой частное от двух операндов, усеченное до нуля, а остаток отбрасывается. Выбрасывается RangeError, если делитель y является 0n. Это связано с тем, что деление числа на ноль возвращает Infinity или -Infinity, но BigInt не имеет концепции бесконечности.

Примеры

Деление с использованием чисел

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

Другие значения, не являющиеся BigInt, приводятся к числам:

5 / "2"; // 2.5
5 / "foo"; // NaN

Деление с использованием BigInts

1n / 2n; // 0n
5n / 3n; // 1n
-1n / 3n; // 0n
1n / -3n; // 0n

2n / 0n; // RangeError: BigInt division by zero

Вы не можете смешивать операнды BigInt и number при делении.

2n / 2; // TypeError: Cannot mix BigInt and other types, use explicit conversions
2 / 2n; // TypeError: Cannot mix BigInt and other types, use explicit conversions

Чтобы выполнить деление с BigInt и не-BigInt, преобразуйте любой из операндов:

2n / BigInt(2); // 1n
Number(2n) / 2; // 1

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-multiplicative-operators

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
division
1
12
1
3
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Сложение (+)
  • Вычитание (-)
  • Умножение (*)
  • Остаток от деления (%)
  • Возведение в степень (**)
  • Инкремент (++)
  • Декремент (--)
  • Унарное отрицание (-)
  • Унарный плюс (+)

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Division

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API