Chalarangelo/30-seconds-of-code

View on GitHub
content/snippets/js/s/number-is-even-odd.md

Summary

Maintainability
Test Coverage
---
title: How can I check if a number is even or odd using JavaScript?
shortTitle: Check if a number is even or odd
type: question
language: javascript
tags: [math]
cover: by-the-lighthouse
excerpt: Check if a number is even or odd using JavaScript using the modulo operator or bitwise AND operator.
listed: true
dateModified: 2023-10-06
---

## Using the modulo operator

The **modulo operator** (`%`) returns the **remainder of a division operation**. Given that, we can check if a number is even or odd by dividing it by `2` and checking the remainder. If the remainder is `0`, the number is even, otherwise it's odd.

```js
const isEven = num => num % 2 === 0;
const isOdd = num => num % 2 === 1;

isEven(3); // false
isOdd(3); // true
```

## Using the bitwise AND operator

The **bitwise AND operator** (`&`) returns `1` if both bits are `1`, otherwise it returns `0`. The binary representation of an even number always ends with `0`, while the binary representation of an odd number always ends with `1`. As such, applying the bitwise AND operator to a number and `1` will return `0` for even numbers and `1` for odd numbers. In order to convert this result to a boolean, we can use the `Boolean()` function.

```js
const isEven = num => !Boolean(num & 1);
const isOdd = num => Boolean(num & 1);

isEven(3); // false
isOdd(3); // true
```

### Notes

- While both approaches work, the modulo operator is more readable and should be preferred.
- Apart from these two approaches, other bitwise operators, such as the bitwise XOR operator (`^`), can also be used to check if a number is even or odd.