Stoyan Stefanov
Before diving into the object-oriented features of JavaScript, let's first take a look at some of the basics. This chapter walks you through:
- The primitive data types in JavaScript, such as strings and numbers
- Arrays
- Common operators, such as
+
,-
,delete
, andtypeof
- Flow control statements, such as loops and if-else conditions
Variables
There are two steps required in order to use a variable. You need to:
- Declare the variable
- Initialize it, that is, give it a value
In order to declare a variable, you use the var
statement, like this:
For the names of the variables, you can use any combination of letters, numbers, and the underscore character. However, you can't start with a number, which means that this is invalid:
To initialize a variable means to give it a value for the first (initial) time. You have two ways to do so:
- Declare the variable first, then initialize it, or
- Declare and initialize with a single statement
An example of the latter is:
Now the variable named a contains the value 1.
You can declare (and optionally initialize) several variables with a single var
statement; just separate the declarations with a comma:
Variables are Case Sensitive
Variable names are case-sensitive. You can verify this statement using the Firebug console. Try typing this, pressing Enter after each line:
To save keystrokes, when you enter the third line, you can only type ca and press the Tab key. The console will auto-complete the variable name to case_matters
. Similarly, for the last line—type CA and press Tab. The end result is shown in Figure 1.
Throughout the rest of this book, only the code for the examples will be given, instead of a screenshot:
The three consecutive greater-than signs (>>>
) show the code that you type, the rest is the result, as printed in the console. Again, remember that when you see such code examples, you're strongly encouraged to type in the code yourself and experiment tweaking it a little here and there, so that you get a better feeling of how it works exactly.
Operators
Operators take one or two values (or variables), perform an operation, and return a value. Let's check out a simple example of using an operator, just to clarify the terminology.
In this code:
+
is the operator
The operation is addition
The input values are 1
and 2
(the input values are also called operands)
The result value is 3
Instead of using the values 1
and 2
directly in the operation, you can use variables. You can also use a variable to store the result of the operation, as the following example demonstrates:
The following table lists the basic arithmetic operators:
Operator symbol | Operation | Example |
---|---|---|
+ |
Addition | >>> 1 + 2 3 |
- |
Subtraction | >>> 99.99 - 11 88.99 |
* |
Multiplication | >>> 2 * 3 6 |
/ |
Division | >>> 6 / 4 1.5 |
% |
Modulo, the reminder of a division | >>> 6 % 3 0 >>> 5 % 3 2 It's sometimes useful to test if a number is even or odd. Using the modulo operator it's easy. All odd numbers will return 1 when divided by 2, while all even numbers will return 0. >>> 4 % 2 0 >>> 5 % 2 1 |
++ |
Increment a value by 1 | Post-increment is when the input value is incremented after it's returned.>>> var a = 123; var b = a++; >>> b 123 >>> a 124 The opposite is pre-increment; the input value is first incremented by 1 and then returned. >>> var a = 123; var b = ++a; >>> b 124 >>> a 124 |
-- |
Decrement a value by 1 | Post-decrement>>> var a = 123; var b = a--; >>> b 123 >>> a 122 Pre-decrement >>> var a = 123; var b = --a; >>> b 122 >>> a 122 |
When you type var a = 1;
this is also an operation; it's the simple assignment operation and =
is the simple assignment operator.
There is also a family of operators that are a combination of an assignment and an arithmetic operator. These are called compound operators. They can make your code more compact. Let's see some of them with examples.
In this example a += 3;
is just a shorter way of doing a = a + 3;
Here a -= 3;
is the same as a = a - 3;
Similarly:
In addition to the arithmetic and assignment operators discussed above, there are other types of operators, as you'll see later in this and the following chapters.