Numbers
Data Types¶
Unlike some other computer languages, JavaScript variables are officially referred to as being "untyped" or "loosely typed". This is because when a variable is set up, as mentioned above, it is simply a general purpose container, into which any of the major types of data may be placed. For JavaScript, these data types are shown below:
All data in a computer physically as it were are just binary digits, represented by zeros and ones. However, your programs will need to think of different pieces of data as different types of data. You can't add "Bob" (a string) to 1000 (a number) mathematically. All programming languages have a set of "data types". Here's JavaScript's:
- Numbers
- Strings
- Booleans
- Null
- Undefined
- Objects
We will focus on the first three for the first part of the semester. This is a very simple list--some languages have a much bigger list of possible data types. JavaScript is simpler in this area. Let's look at more details about the data types
Numbers¶
Some of the most important things we do with computers involve numbers, so variables will often hold references to numbers.
The number data type in JavaScript consists of, well, numbers. Numbers are things with which we can do math. We can count with them, have them be prices, add them together, divide them, etc. Below are examples of numbers, in formats that are all valid for the JavaScript language:
4 1.50 -14 1000000 5e10
- Numbers can be big or small, positive or negative, have decimals or not. In JavaScript they are all just numbers. There aren't different data types for different kinds of numbers.
- How do we make a variable that's a number?
- That's easy, just declare a variable and put a number in it. Just make sure you that you key in the number with no quotes around it (since that would create a string, even if it was all digits).
1 2 3 4 5 6 7 8 9 10 11 |
|
- Do we have to tell JavaScript that a variable is a number? Nope.
Demo¶
Demo
- Number Variables
- unit01/demos/demo-numbers.html
Converting strings to a number¶
- When a user is asked to enter a number in a
prompt
dialog, what data type comes into your program? - Here's an example
1 2 3 4 5 |
|
peachPrice
variable is a string! Let's assume the user entered 4.99. That's just the characters "4", ".", "9", and "9" next to each other. It is not the number 4.99, yet. The most important thing about this is that you can't do any math with a string.
* Anything that is entered into a computer by typing is a string.
* But, what if you want to do some math?
* Then you need to convert the string "4.99" into the number 4.99.
* We will do this with the Number()
function.
1 2 3 4 5 6 7 |
|
- The
Number()
function takes the current value of the string in the variable, "4.99", and converts it to a number if it can. Then our line of code puts the new number back into theprice
variable. - Here's another look at this.
A Little Math¶
Note: When numbers are assigned to a variable with the assignment operator, they don't need to be converted to a number. They are already a number! It is only when data enters the program via the
prompt()
method that the keyed in digits need to be converted to numeric format via theNumber()
function.
We will be doing a lot of basic arithmetic in our programs this semester. We'll start with the four simplest operations, adding, subtracting, multiplying, and dividing.
Addition (+)
¶
We use the +
(plus) symbol for addition.
Subtraction (-)
¶
We use the -
(dash) symbol for subtraction.
Multiplication (*)
¶
We use the *
(asterisk) symbol for multiplication.
Division (/)
¶
We use the /
(forward slash) symbol for division
Math with Variables¶
We can also perform math with variables. In fact, this is how we will usually do math very soon. (And then shortly after that, it will become an requirement.)
Read more¶
Related Reading
Pages 186 - 187 — This gets pretty advanced pretty quick. We'll talk more about numbers later. This is a good start for now.
Hands on work¶
Demo
- Number Variables
- unit01/demos/demo-numbers.html
- Number Math
- unit01/demos/demo-math.html
Labs
- Lab05: Using Number Variables
- unit01/labs/lab-05-numberVariables.html
Exercises
- Lab05 exercise
- unit01/exercises/exercise-05.html