Ten+ Math Functions Every JavaScript Developer Should Know

Ten+ Math Functions Every JavaScript Developer Should Know

In this article, I want to show you the commonly used Math functions that every JavaScript developer should know. In addition to general examples, I have provided different use-case examples to clarify the context of functions.

Let's dive in and have fun!

Introduction

Math is a built-in object that provides properties and methods for mathematical constants and functions to execute mathematical operations. Unlike many other global objects, the Math object has no constructor. All properties and methods of Math are static.

The Math works with the Number type. It doesn't work with BigInt.

Following is a list of commonly used Math object methods:

Math.abs

The Math.abs function returns the absolute value of a number. It takes a number as its parameter and returns its absolute value.

console.log(Math.abs(5));
// Output: 5

console.log(Math.abs(5.2));
// Output: 5.2

console.log(Math.abs(-5.2));
// Output: 5.2

Bonus Tip: It is useful when you have a case where you should find the difference between the two numbers. Let's take a look at the example below:

function difference(a, b) {
  return Math.abs(a - b);
}

console.log(difference(4, 7));
// Output: 3

console.log(difference(7, 4));
// Output: 3

Math.ceil

The Math.ceil function always rounds a number up to the next largest integer. It takes a number as its parameter and returns its upward round value.

console.log(Math.ceil(0.8));
// Output: 1

console.log(Math.ceil(-0.8));
// Output: -0

console.log(Math.ceil(4));
// Output: 4

console.log(Math.ceil(3.004));
// Output: 4

console.log(Math.ceil(-3.004));
// Output: -3

Math.floor

The Math.floor function rounds a number down to its nearest integer. It takes a number as its parameter and returns its downward round value.

console.log(Math.floor(0.8));
// Output: 0

console.log(Math.floor(-0.8));
// Output: -1

console.log(Math.floor(4));
// Output: 4

console.log(Math.floor(3.004));
// Output: 3

console.log(Math.floor(-3.004));
// Output: -4

Math.round

The Math.round function rounds a number to its nearest integer. It takes a number as its parameter and returns its nearest rounded value.

console.log(Math.round(0.8));
// Output: 1

console.log(Math.round(-0.8));
// Output: -1

console.log(Math.round(5));
// Output: 5

console.log(Math.round(5.95));
// Output: 6

console.log(Math.round(5.5));
// Output: 6

console.log(Math.round(5.05));
// Output: 5

Description: If the fractional portion of the argument is greater than 0.5, the argument is rounded to the integer with the next higher absolute value. If it is less than 0.5, the argument is rounded to the integer with the lower absolute value. If the fractional portion is exactly 0.5, the argument is rounded to the next integer in the direction of +∞.

Consider the following examples for better clarity:

console.log(Math.round(10.49));
// Output: 10

console.log(Math.round(10.5));
// Output: 11

console.log(Math.round(22));
// Output: 22

console.log(Math.round(-10.5));
// Output: -10

console.log(Math.round(-10.51));
// Output: -11

Math.trunc

The Math.trunc function takes a number as its parameter and returns its integer part of a number by removing any fractional digits.

console.log(Math.trunc(0.8));
// Output: 0

console.log(Math.trunc(-0.8));
// Output: -0

console.log(Math.trunc(5));
// Output: 5

console.log(Math.trunc(5.95));
// Output: 5

console.log(Math.trunc(5.5));
// Output: 5

console.log(Math.trunc(5.05));
// Output: 5

Description: Unlike the other Math methods, the way Math.trunc works is very simple. It truncates (cuts off) the dot and the digits to the right of it, no matter whether the argument is a positive or negative number.

The Math.trunc is one of the new features of ECMAScript 6 and before that, the following method was used:

// In ECMAScript 5
function mathTrunc(num) {
  return (num < 0 ? Math.ceil(num) : Math.floor(num));
}

Math.max

The Math.max function returns the largest of 0 to n numbers given as input parameters.

let largestNumber = Math.max(2, 5, 15, 3);

console.log(largestNumber);
// Output: 15

Math.min

The Math.min function returns the smallest of 0 to n numbers given as input parameters.

let smallestNumber = Math.min(2, 5, 15, 3);

console.log(smallestNumber );
// Output: 2

Note: Both Math.max & Math.min are variadic functions. A variadic function takes a variable number of arguments. In other words, a variadic function is a function where the total number of parameters are unknown and can be adjusted when the method is invoked.

Bonus Tip: You can also find the largest/smallest number in an array with the help of the Spread Syntax, which unpacks array values. Take a look at the example below:

let salaries = [1000, 2500, 400, 14000, 800];

let highestSalary = Math.max(...salaries);
console.log(highestSalary);
// Output: 14000

let lowestSalary = Math.min(...salaries);
console.log(lowestSalary);
// Output: 400

Math.pow

The Math.pow function returns the base to the exponent power. It takes two number parameters and returns as base^exponent.

console.log(Math.pow(2, 5));
// Output: 32

console.log(Math.pow(2, 0));
// Output: 1

Math.sqrt

The Math.sqrt function takes a number as a parameter and returns the square root of the number.

console.log(Math.sqrt(9));
// Output: 3

console.log(Math.sqrt(2));
// Output: 1.4142135623730951

console.log(Math.sqrt(-9));
// Output: NaN

Math.cbrt

The Math.cbrt function returns the cube root of a number taken as a parameter.

console.log(Math.cbrt(64));
// Output: 4

console.log(Math.cbrt(-1));
// Output: -1

console.log(Math.cbrt(1));
// Output: 1

Math.random

The Math.random function returns a floating-point, pseudo-random number in the range 0 to less than 1 (inclusive of 0, and exclusive of 1).

console.log(Math.random());
// Output: 0.9785027066546665

console.log(Math.random());
// Output: 0.4401509062770659

console.log(Math.random());
// Output: 0.04055758334158077

You can also generate random integer numbers, one can pass the Math.random() as an argument to the parseInt method.

let randomNumber = parseInt((Math.random() * 100), 10);

console.log(randomNumber);
// Output: 80

In the above code, the Math.random function returns a random integer between 0 and 1. To convert that to a random number up to 100, multiply it by 100. So if you want a random number up to 10, multiply it by 10. The parseInt function casts the generated random number to an integer by the radix of 10, which indicates to convert from a decimal number.

Bonus Tip: To get a random integer within a specific range you can use the following method instead:

function generateRandomNumber(min, max) {
  return parseInt((Math.random() * (max - min + 1)), 10) + min;
}

console.log(generateRandomNumber(20, 50));
// Output: 32

console.log(generateRandomNumber(80, 100));
// Output: 89

Final thoughts

The Math object allows you to perform mathematical instructions. It has 8 static properties and more than 30 static methods.

Let's look at a glance at what common Math functions are:

FunctionDescription
Math.abs(x)Returns the absolute value of a number.
Math.ceil(x)Rounds a number up to the next largest integer.
Math.floor(x)Rounds a number down to its nearest integer.
Math.round(x)Rounds a number to its nearest integer.
Math.trunc(x)Returns the integer part of a number.
Math.max(n1, n2, n3, ..., nx)Returns the number with the highest value.
Math.min(n1, n2, n3, ..., nx)Returns the number with the lowest value.
Math.pow(x, y)Returns the base to the exponent power.
Math.sqrt(x)Returns the square root of a number.
Math.cbrt(x)Returns the cubic root of a number.
Math.random()Returns a random number between 0 (inclusive) and 1 (exclusive).