DEV Community

Cover image for Mastering JavaScript's Math Object: A Comprehensive Guide to Built-in Mathematical Functions and Properties
Md Nazmus Sakib
Md Nazmus Sakib

Posted on

1

Mastering JavaScript's Math Object: A Comprehensive Guide to Built-in Mathematical Functions and Properties

The JavaScript Math Object: An Overview

The JavaScript Math object is a built-in object that provides a collection of mathematical functions and constants. It is not a constructor, so you cannot create instances of it; instead, it is used directly through its static methods and properties.

1. Constants

The Math object includes several constants that are useful for mathematical calculations:

  • Math.E: The base of natural logarithms, approximately equal to 2.718.
  • Math.LN2: The natural logarithm of 2, approximately equal to 0.693.
  • Math.LN10: The natural logarithm of 10, approximately equal to 2.303.
  • Math.LOG2E: The base-2 logarithm of E, approximately equal to 1.442.
  • Math.LOG10E: The base-10 logarithm of E, approximately equal to 0.434.
  • Math.PI: The ratio of the circumference of a circle to its diameter, approximately equal to 3.14159.
  • Math.SQRT1_2: The square root of 1/2, approximately equal to 0.707.
  • Math.SQRT2: The square root of 2, approximately equal to 1.414.

2. Methods

The Math object provides several methods for performing mathematical operations:

  • Math.abs(x): Returns the absolute value of x.
  Math.abs(-5); // 5
Enter fullscreen mode Exit fullscreen mode
  • Math.ceil(x): Rounds x up to the nearest integer.
  Math.ceil(4.2); // 5
Enter fullscreen mode Exit fullscreen mode
  • Math.floor(x): Rounds x down to the nearest integer.
  Math.floor(4.7); // 4
Enter fullscreen mode Exit fullscreen mode
  • Math.round(x): Rounds x to the nearest integer.
  Math.round(4.5); // 5
Enter fullscreen mode Exit fullscreen mode
  • Math.max(...values): Returns the largest of zero or more numbers.
  Math.max(1, 5, 3); // 5
Enter fullscreen mode Exit fullscreen mode
  • Math.min(...values): Returns the smallest of zero or more numbers.
  Math.min(1, 5, 3); // 1
Enter fullscreen mode Exit fullscreen mode
  • Math.random(): Returns a pseudo-random number between 0 (inclusive) and 1 (exclusive).
  Math.random(); // e.g., 0.237
Enter fullscreen mode Exit fullscreen mode
  • Math.pow(base, exponent): Returns the base raised to the exponent power.
  Math.pow(2, 3); // 8
Enter fullscreen mode Exit fullscreen mode
  • Math.sqrt(x): Returns the square root of x.
  Math.sqrt(9); // 3
Enter fullscreen mode Exit fullscreen mode
  • Math.trunc(x): Returns the integer part of x, removing any fractional digits.
  Math.trunc(4.9); // 4
Enter fullscreen mode Exit fullscreen mode

3. Usage Examples

Here are a few practical examples of how you might use the Math object:

  • Generating a Random Integer
  function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }
  console.log(getRandomInt(1, 10)); // e.g., 7
Enter fullscreen mode Exit fullscreen mode
  • Calculating the Hypotenuse
  function calculateHypotenuse(a, b) {
    return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
  }
  console.log(calculateHypotenuse(3, 4)); // 5
Enter fullscreen mode Exit fullscreen mode

4. Limitations and Notes

  • Precision Issues: Floating-point arithmetic can lead to precision issues. For example, Math.sqrt(2) * Math.sqrt(2) might not exactly equal 2 due to rounding errors.
  • Not a Constructor: The Math object does not have constructor capabilities. All properties and methods are static.

Math Object Methods and Properties


1. Math.abs(x)

Returns the absolute value of x.

console.log(Math.abs(-10)); // 10
console.log(Math.abs(5.5)); // 5.5
Enter fullscreen mode Exit fullscreen mode

2. Math.acos(x)

Returns the arccosine (inverse cosine) of x, in radians.

console.log(Math.acos(1)); // 0
console.log(Math.acos(0)); // 1.5707963267948966 (π/2)
Enter fullscreen mode Exit fullscreen mode

3. Math.acosh(x)

Returns the hyperbolic arccosine of x.

console.log(Math.acosh(1)); // 0
console.log(Math.acosh(2)); // 1.3169578969248166
Enter fullscreen mode Exit fullscreen mode

4. Math.asin(x)

Returns the arcsine (inverse sine) of x, in radians.

console.log(Math.asin(0)); // 0
console.log(Math.asin(1)); // 1.5707963267948966 (π/2)
Enter fullscreen mode Exit fullscreen mode

5. Math.asinh(x)

Returns the hyperbolic arcsine of x.

console.log(Math.asinh(0)); // 0
console.log(Math.asinh(1)); // 0.881373587019543
Enter fullscreen mode Exit fullscreen mode

6. Math.atan(x)

Returns the arctangent (inverse tangent) of x, in radians.

console.log(Math.atan(1)); // 0.7853981633974483 (π/4)
console.log(Math.atan(0)); // 0
Enter fullscreen mode Exit fullscreen mode

7. Math.atan2(y, x)

Returns the arctangent of the quotient of its arguments, in radians.

console.log(Math.atan2(1, 1)); // 0.7853981633974483 (π/4)
console.log(Math.atan2(-1, -1)); // -2.356194490192345 (-3π/4)
Enter fullscreen mode Exit fullscreen mode

8. Math.atanh(x)

Returns the hyperbolic arctangent of x.

console.log(Math.atanh(0)); // 0
console.log(Math.atanh(0.5)); // 0.5493061443340549
Enter fullscreen mode Exit fullscreen mode

9. Math.cbrt(x)

Returns the cubic root of x.

console.log(Math.cbrt(27)); // 3
console.log(Math.cbrt(-8)); // -2
Enter fullscreen mode Exit fullscreen mode

10. Math.ceil(x)

Rounds x upwards to the nearest integer.

console.log(Math.ceil(4.2)); // 5
console.log(Math.ceil(-4.7)); // -4
Enter fullscreen mode Exit fullscreen mode

11. Math.clz32(x)

Returns the number of leading zeros in the 32-bit binary representation of x.

console.log(Math.clz32(1)); // 31
console.log(Math.clz32(0x80000000)); // 0
Enter fullscreen mode Exit fullscreen mode

12. Math.cos(x)

Returns the cosine of x (where x is in radians).

console.log(Math.cos(0)); // 1
console.log(Math.cos(Math.PI)); // -1
Enter fullscreen mode Exit fullscreen mode

13. Math.cosh(x)

Returns the hyperbolic cosine of x.

console.log(Math.cosh(0)); // 1
console.log(Math.cosh(1)); // 1.5430806348152437
Enter fullscreen mode Exit fullscreen mode

14. Math.E

Returns Euler's number, approximately 2.718.

console.log(Math.E); // 2.718281828459045
Enter fullscreen mode Exit fullscreen mode

15. Math.exp(x)

Returns the value of e raised to the power of x.

console.log(Math.exp(1)); // 2.718281828459045
console.log(Math.exp(0)); // 1
Enter fullscreen mode Exit fullscreen mode

16. Math.expm1(x)

Returns the value of e raised to the power of x, minus 1.

console.log(Math.expm1(1)); // 1.718281828459045
console.log(Math.expm1(0)); // 0
Enter fullscreen mode Exit fullscreen mode

17. Math.floor(x)

Rounds x downwards to the nearest integer.

console.log(Math.floor(4.7)); // 4
console.log(Math.floor(-4.2)); // -5
Enter fullscreen mode Exit fullscreen mode

18. Math.fround(x)

Returns the nearest (32-bit single precision) float representation of x.

console.log(Math.fround(1.337)); // 1.336914
console.log(Math.fround(1.5)); // 1.5
Enter fullscreen mode Exit fullscreen mode

19. Math.LN2

Returns the natural logarithm of 2, approximately 0.693.

console.log(Math.LN2); // 0.6931471805599453
Enter fullscreen mode Exit fullscreen mode

20. Math.LN10

Returns the natural logarithm of 10, approximately 2.302.

console.log(Math.LN10); // 2.302585092994046
Enter fullscreen mode Exit fullscreen mode

21. Math.log(x)

Returns the natural logarithm (base e) of x.

console.log(Math.log(Math.E)); // 1
console.log(Math.log(10)); // 2.302585092994046
Enter fullscreen mode Exit fullscreen mode

22. Math.log10(x)

Returns the base-10 logarithm of x.

console.log(Math.log10(10)); // 1
console.log(Math.log10(100)); // 2
Enter fullscreen mode Exit fullscreen mode

23. Math.LOG10E

Returns the base-10 logarithm of e, approximately 0.434.

console.log(Math.LOG10E); // 0.4342944819032518
Enter fullscreen mode Exit fullscreen mode

24. Math.log1p(x)

Returns the natural logarithm of 1 + x.

console.log(Math.log1p(1)); // 0.6931471805599453
console.log(Math.log1p(0)); // 0
Enter fullscreen mode Exit fullscreen mode

25. Math.log2(x)

Returns the base-2 logarithm of x.

console.log(Math.log2(2)); // 1
console.log(Math.log2(8)); // 3
Enter fullscreen mode Exit fullscreen mode

26. Math.LOG2E

Returns the base-2 logarithm of e, approximately 1.442.

console.log(Math.LOG2E); // 1.4426950408889634
Enter fullscreen mode Exit fullscreen mode

27. Math.max(...values)

Returns the largest of zero or more numbers.

console.log(Math.max(1, 5, 3)); // 5
console.log(Math.max(-1, -5, -3)); // -1
Enter fullscreen mode Exit fullscreen mode

28. Math.min(...values)

Returns the smallest of zero or more numbers.

console.log(Math.min(1, 5, 3)); // 1
console.log(Math.min(-1, -5, -3)); // -5
Enter fullscreen mode Exit fullscreen mode

29. Math.PI

Returns the value of π, approximately 3.14159.

console.log(Math.PI); // 3.141592653589793
Enter fullscreen mode Exit fullscreen mode

30. Math.pow(base, exponent)

Returns the value of base raised to the power of exponent.

console.log(Math.pow(2, 3)); // 8
console.log(Math.pow(5, 0)); // 1
Enter fullscreen mode Exit fullscreen mode

31. Math.random()

Returns a pseudo-random number between 0 (inclusive) and 1 (exclusive).

console.log(Math.random()); // e.g., 0.237
Enter fullscreen mode Exit fullscreen mode

32. Math.round(x)

Rounds x to the nearest integer.

console.log(Math.round(4.5)); // 5
console.log(Math.round(4.4)); // 4
Enter fullscreen mode Exit fullscreen mode

33. Math.sign(x)

Returns the sign of a number, indicating whether the number is positive, negative, or zero.

console.log(Math.sign(-5)); // -1
console.log(Math.sign(0)); // 0
console.log(Math.sign(5)); // 1
Enter fullscreen mode Exit fullscreen mode

34. Math.sin(x)

Returns the sine of x (where x is in radians).

console.log(Math.sin(0)); // 0
console.log(Math.sin(Math.PI / 2)); // 1
Enter fullscreen mode Exit fullscreen mode

35. Math.sinh(x)

Returns the hyperbolic sine of x.

console.log(Math.sinh(0)); // 0
console.log(Math.sinh(1)); // 1.1752011936438014
Enter fullscreen mode Exit fullscreen mode

36. Math.sqrt(x)

Returns the square root of x.

console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(16));

 // 4
Enter fullscreen mode Exit fullscreen mode

37. Math.SQRT1_2

Returns the square root of 1/2, approximately 0.707.

console.log(Math.SQRT1_2); // 0.7071067811865476
Enter fullscreen mode Exit fullscreen mode

38. Math.SQRT2

Returns the square root of 2, approximately 1.414.

console.log(Math.SQRT2); // 1.4142135623730951
Enter fullscreen mode Exit fullscreen mode

39. Math.tan(x)

Returns the tangent of x (where x is in radians).

console.log(Math.tan(0)); // 0
console.log(Math.tan(Math.PI / 4)); // 1
Enter fullscreen mode Exit fullscreen mode

40. Math.tanh(x)

Returns the hyperbolic tangent of x.

console.log(Math.tanh(0)); // 0
console.log(Math.tanh(1)); // 0.7615941559557649
Enter fullscreen mode Exit fullscreen mode

41. Math.trunc(x)

Returns the integer part of a number by removing any fractional digits.

console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(-4.9)); // -4
Enter fullscreen mode Exit fullscreen mode

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (3)

Collapse
 
lucky_man_ca754518a5bcda3 profile image
Takuma Kijima

Thanks. Great.✨

Collapse
 
engrsakib profile image
Md Nazmus Sakib

Thanks

Collapse
 
engrsakib profile image
Md Nazmus Sakib

thanks

Cloudinary image

Zoom pan, gen fill, restore, overlay, upscale, crop, resize...

Chain advanced transformations through a set of image and video APIs while optimizing assets by 90%.

Explore

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay