Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
      You have completed JavaScript Numbers!
      
    
You have completed JavaScript Numbers!
Preview
    
      
  In addition to the arithmetic operators you learned, JavaScript has a built-in `Math` object used to perform complex mathematical operations on numbers.
Resources
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
                      [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 length 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 upYou need to sign up for Treehouse in order to set up Workspace
Sign up