**Heads up!** To view this whole video, sign in with your Courses account or enroll in your free 7-day trial.
Sign In
Enroll

Start a free Courses trial

to watch this video

In addition to the arithmetic operators you learned, JavaScript has a built-in `Math` object used to perform complex mathematical operations on numbers.

### Resources

[MUSIC] 0:00 In this stage, you're going to learn how to create random numbers in JavaScript. 0:04 Applications often need a way to provide users random choices or outcomes. 0:08 Generating random numbers comes in handy for 0:13 games or anytime you want to make your program less predictable. 0:15 For example, in a dice or card game, each dice roll or 0:19 card shuffle might result in a different outcome that's randomly generated. 0:22 You create random numbers in JavaScript using what's called the math object. 0:26 Even though you've already worked with objects, 0:30 we haven't specifically talked about what they are just yet. 0:32 So let me teach you some of the basics of objects first. 0:36 Then we'll dive into the math object and start generating randomness. 0:38 In JavaScript, data types like strings, Booleans, and numbers are formally called 0:42 primitive data types, because they're basic values built into the language. 0:48 A string or number primitive, by itself, cannot be altered or manipulated. 0:52 It turns out that JavaScript automatically adds a special wrapper 0:57 around most primitive types so that you're able to alter them. 1:01 That wrapper is called an object. 1:05 And as you'll learn, JavaScript is made up of different types of objects. 1:07 In a previous course, 1:11 you learned that even though a string is just a series of characters inside 1:12 quotation marks, the JavaScript engine treats it as an object behind the scenes, 1:16 which unlocks useful functionality by way of properties and methods. 1:21 All objects have properties. 1:25 A property is just like a variable that's associated with or attached to the object. 1:27 The string object, 1:32 for example, has a property named length, which holds a numeric value. 1:33 In fact, you've already used the length property to find the number of characters 1:37 in a string. 1:40 Each defined string has its own link property, 1:42 because different strings can have different number of characters in them. 1:45 Objects also have actions that they can perform. 1:49 We call these actions methods. 1:52 A string, for example, has the toUppercase method, 1:54 which you've used before to convert a string to all uppercase letters. 1:57 There are other types of objects in JavaScript, 2:01 which you'll learn as you progress through our JavaScript curriculum. 2:04 For now, I'll introduce you to a special object called the math object. 2:07 In addition to the arithmetic operators you learned, JavaScript has a built-in 2:12 math object used to perform complex mathematical operations on numbers. 2:16 For example, finding the square root of a number or 2:20 working with trigonometric functions like tangents, sines and 2:23 cosines, which can help you create more realistic games and animations. 2:26 The MDN or Mozilla Developer Network provides useful information 2:31 on the properties and methods of the math object. 2:35 Here you can see that the math object has some properties and many methods. 2:38 The properties are built-in numbers you can use in certain calculations. 2:43 For example, PI or Math.PI is used to calculate the area of a circle. 2:46 The methods are mathematical functions that are built into JavaScript. 2:53 For example, the Math.round method takes a number like 2.2, 2:57 and rounds it to the nearest whole number, 2 in this case. 3:02 I'll use the JavaScript console to demonstrate how 3:06 the Math.round method works. 3:09 The math object is a bit unusual in that you type the word Math with 3:11 a capital M followed by a period and the method name. 3:16 You will then provide the method a number value to work with, like 2.2, and 3:20 the method returns a new value, in this case, 2. 3:24 I'll try another number, 44.9 and see what happens. 3:28 Math.round rounds 44.9 to the nearest integer and it returns 45. 3:32 The math object is like a built-in library full of useful mathematical functions. 3:39 As you can see, there are lots of different methods for 3:44 specific types of math. 3:47 Some are more complex than others. 3:48 For example, 3:50 Math.max returns the largest number from a set of number values passed into it. 3:52 And Math.acos calculates the arccosine of a number. 3:57 I have no idea what that is. 4:02 Up next, 4:04 you'll learn how to create a random number using JavaScript, a really handy skill. 4:05

You need to sign up for Treehouse in order to download course files.

Sign up