File size: 1,588 Bytes
780c9fe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
---
title: Division assignment (/=)
slug: Web/JavaScript/Reference/Operators/Division_assignment
page-type: javascript-operator
browser-compat: javascript.operators.division_assignment
sidebar: jssidebar
---
The **division assignment (`/=`)** operator performs [division](/en-US/docs/Web/JavaScript/Reference/Operators/Division) on the two operands and assigns the result to the left operand.
{{InteractiveExample("JavaScript Demo: Division assignment (/=) operator")}}
```js interactive-example
let a = 3;
a /= 2;
console.log(a);
// Expected output: 1.5
a /= 0;
console.log(a);
// Expected output: Infinity
a /= "hello";
console.log(a);
// Expected output: NaN
```
## Syntax
```js-nolint
x /= y
```
## Description
`x /= y` is equivalent to `x = x / y`, except that the expression `x` is only evaluated once.
## Examples
### Division assignment using numbers
```js
let bar = 5;
bar /= 2; // 2.5
bar /= 2; // 1.25
bar /= 0; // Infinity
```
Other non-BigInt values are coerced to numbers:
```js
let bar = 5;
bar /= "2"; // 2.5
bar /= "foo"; // NaN
```
### Division assignment using BigInts
```js
let foo = 3n;
foo /= 2n; // 1n
foo /= 2n; // 0n
foo /= 0n; // RangeError: BigInt division by zero
foo /= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
```
## Specifications
{{Specifications}}
## Browser compatibility
{{Compat}}
## See also
- [Assignment operators in the JS guide](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#assignment_operators)
- [Division (`/`)](/en-US/docs/Web/JavaScript/Reference/Operators/Division)
|