# Check if a number is odd or even in JavaScript

*Last updated: September 27, 2022.*

There is no in-built function or method to check if a number is odd or even in JavaScript. We therefore have to create a function ourselves to perform this check.

This can be done with the help of the remainder operator (`%`

).

Since an even number always has a remainder of zero, if applying the remainder operator to a number returns this outcome, the number must be even. Conversely, if a remainder exists, the number must be odd.

Below is a function that perform this check, including a pre-check for whether the number passed into it when it is called is an integer. The function is then called three times:

function oddOrEven(x) { // First, check if number is integer. If not, // keyword return stops function processing // and a console error is created if (!Number.isInteger(x)) { return console.error("Not an integer!") } // Checks the remainder of the number passed // into the function if divided by 2. If it // is 0, the if statement is executed, if it // is not, the else statement runs. if (x % 2 === 0) { console.log("The number is even"); } else { console.log("The number is odd"); } } oddOrEven(2) // The number is even oddOrEven(3) // The number is odd oddOrEven(0.2) // Not an integer

## Alternative solution using the ternary operator

The odd or even number check function can also be written using the *ternary operator*. The syntax is as follows: `statement : returnIfTrue : returnIfFalse`

.

Note that because a ternary statement requires a `returnIfFalse`

expression, it is only applied to the check of whether a number is even or odd:

function oddOrEven(x) { if (!Number.isInteger(x)) { return console.error("Not an integer") } x % 2 === 0 ? console.log("The number is even") : console.log("The number is odd") } oddOrEven(2) // The number is even oddOrEven(3) // The number is odd oddOrEven(0.2) // Not an integer