## Next lesson playing in 5 seconds

Cancel- Overview
- Transcript

# 5.11 The `Math` API

In this lesson we’ll take a look at the built-in `Math`

object, which provides properties and methods to perform operations on numbers.

**Syntax**

`PI`

`E`

`ceil`

`floor`

`round`

`max`

`min`

`abs`

`sqrt`

`pow`

`random`

## 1.Introduction2 lessons, 07:42

### 1.1Introduction02:12

### 1.2Setup05:30

## 2.Language Fundamentals8 lessons, 1:00:53

### 2.1Variables06:33

### 2.2Data Types11:28

### 2.3Arithmetic, Assignment, and Comparison Operators10:24

### 2.4Unary, Logical, Comma, and Spread Operators09:02

### 2.5Operator Precedence03:50

### 2.6Reserved Words04:17

### 2.7Strict Mode04:34

### 2.8Functions10:45

## 3.Data Structures5 lessons, 22:52

### 3.1Arrays04:29

### 3.2Objects04:30

### 3.3Sets04:57

### 3.4Maps04:21

### 3.5Weak Maps and Weak Sets04:35

## 4.Controlling Program Execution7 lessons, 37:06

### 4.1Conditionals07:49

### 4.2Switch Statements04:41

### 4.3The For Loop06:39

### 4.4The `for .. in` Loop05:17

### 4.5The `for .. of` Loop04:02

### 4.6Iterators05:03

### 4.7While Loops03:35

## 5.Using JavaScript13 lessons, 1:44:36

### 5.1Working With Strings09:32

### 5.2Template Literals05:46

### 5.3Working With Numbers06:57

### 5.4Working With Arrays12:53

### 5.5Iterating and Transforming Arrays07:33

### 5.6Working With the Object Type13:55

### 5.7Object Literal Extensions06:45

### 5.8Working With Object Instances06:45

### 5.9Getters and Setters05:00

### 5.10Custom Objects11:28

### 5.11The `Math` API04:54

### 5.12Working With Dates and Times08:10

### 5.13The `Array` Constructor04:58

## 6.Functions8 lessons, 56:07

### 6.1The `this` Object06:15

### 6.2Working With Functions10:11

### 6.3Scope07:37

### 6.4Arrow Functions06:59

### 6.5Generator Functions08:13

### 6.6Closures05:00

### 6.7Prototypes06:26

### 6.8Default and Rest Parameters05:26

## 7.Miscellaneous6 lessons, 52:39

### 7.1Destructuring Assignments08:09

### 7.2AJAX08:30

### 7.3Regular Expressions10:51

### 7.4More About Regular Expressions08:38

### 7.5Classes06:48

### 7.6ES Modules09:43

## 8.Working With the DOM6 lessons, 37:39

### 8.1Selecting HTML Elements05:02

### 8.2Manipulating HTML Elements07:40

### 8.3DOM Traversal05:25

### 8.4Adding and Removing Elements04:45

### 8.5Creating Elements and Other Nodes04:39

### 8.6DOM Events10:08

## 9.Web APIs4 lessons, 17:41

### 9.1The Selector API03:03

### 9.2Geolocation05:29

### 9.3Web Storage05:24

### 9.4Web Workers03:45

## 10.Asynchronous JavaScript5 lessons, 26:23

### 10.1Promises09:52

### 10.2Promise Chaining05:11

### 10.3The async Keyword03:21

### 10.4The await Keyword04:04

### 10.5More About async and await03:55

## 11.Conclusion1 lesson, 00:43

### 11.1Conclusion00:43

### 5.11 The `Math` API

Hi folks. In this lesson, we're going to take a look at the Math object to see how we can use it to perform more advanced mathematical operations than the regular operators like plus or multiply allow. Unlike most other objects in JavaScript, the math object doesn't have a constructor, and it doesn't need to be created. It exists in the browser as a static object which is global, so we can use it anywhere. It has a range of different properties, which are all constant values and cannot be modified. For example, if we want to know the value of Pi, we can use the Pi constant. See how we didn't have to instantiate the math object. It's just there whenever we need it. As well as Pi, we also have constants for Euler's constant. And there's a whole bunch of other things as well like the natural logarithm of 2, and the square root of one half. I didn't study math past high school, so I have no idea what these are used for. But they're there if we need them. The math object also has a range of different methods for working with numbers. Let's look at some of them now. If we want to round a number up to the nearest integer, we can use the ceil method. Or if we want to round a number down to the nearest integer we can use the floor method. So you can see that the rounding with ceil or floor just rounds either up or down. It doesn’t take into account whether the fraction is greater than 0.5 or not. We can also round to the nearest integer using the round method. The round method rounds to the nearest integer. It doesn't just blindly round up or down. So that's rounding covered. What else can we do? We can find the largest of a series of numbers using the max method. So the max method simply returns the largest number out of all of the arguments passed to it. We also have the min method, which does the opposite. We can find the absolute value of a number if we wish, which basically means any positive number. And we do this using the abs method. We can find the square root of any number using the SQRT method. This only works with positive numbers. If we pass the SQRT method a negative number, it returns the null value. We can also raise a number by an exponential power using the power method. So what this does is raise the number 3 by 2 powers. This one of the method that can be pretty useful and that is the random method which allows us to generate a random number between 0 and 1. And if we just refresh that a few times, we should find that the last console log is different each time. So random by itself returns a floating point number in between 0 and 1. If we want to generate a random whole number, we need to floor it and multiply it by 10. And this time, we get a random integer. There are also a range of methods that we can use for trigonometry including cos, sin, and tan. As well as acos, asin, and atan. And future versions of JavaScript will have even more. So in this lesson, we looked at the built-in math object and saw some of the different properties that are available for us to use to perform mathematical operations on numbers. In the next lesson, we're going to see how we can work with dates and times in JavaScript. Thanks for watching.