Welcome back! Glad to have you. Yesterday we wrote our first line of code using
Our schedule includes:
var num = 2 + 2;
Expressions in this statement include adding 2 + 2 and setting num equal to 4.
For a listing of Statements & Declarations see the Mozilla Developer Network, more commonly referred to as MDN. This should be one of the first places you look for documentation. We will be covering most of these at some point in the future, so don’t fret for now, as we will learn them over time.
You use variables to store and retrieve values. The first time a variable appears is its declaration, which is where it is put into memory. Try to give your variables meaningful names to make it easy for other people to understand what your code does. Let’s take a closer look at our statement from earlier:
var num = 2 + 2;
num is the variable and will be equal to 4. Variables are declared with the
var keyword and can be done a few different ways.
// A single declaration. var num; // Multiple declarations with a single var keyword, separated by commas var num, max, min; // Variable declaration and initialization in one statement. var count = 0, amount = 100; // line returns do not matter, but those commas do var house , brick , sticks;
If we do not set a value to a variable initially it will be set to
Camel casing is the naming convention JS developers use when naming variables. Since you can’t have spacing or hypens in your names and it may make sense to have multiple words in a name, best practice is to use camel case, which means the first word is lower case and all words after begin with a capital letter. Here’s an example:
var thisVariableIsInCamelCase = “I am a camel cased variable”; var applesAndOranges = “fruits”;
‘HOUSE’ is not equal to ‘house’
Sometimes you may want a variable to remain unchanged and constant, for example with some sort of secret key or password. The convention for this is to use all capital letters and separate words with underscores. Here is an example:
var I_DO_NOT_CHANGE = “mySuperSecretPassword”;
The interesting thing with this is that the variable
I_DO_NOT_CHANGE can actually be changed. This is just a convention, though with ES6 the
const keyword was added to create a read-only constant. Let’s take another look:
var I_DO_ACTUALLY_CHANGE = ‘mySuperSecretPassword’; const I_DO_NOT_CHANGE = ‘holdSteady’; I_DO_ACTUALLY_CHANGE = ‘newPassword’; I_DO_NOT_CHANGE = ‘try to change me’; I_DO_ACTUALLY_CHANGE // ‘newPassword’ I_DO_NOT_CHANGE // ‘holdSteady’;
const is part of the ES6 specification and there are some caveats when using ES6. To minimize compatibility issues and quirks, we will be focusing on the current ES5 specification until later.
A quick note on semicolons: So far we have been using semicolons to denote the end of an expression or statement. These are optional, though we are going to recommend getting in the habit of using them if you are new to the language.
Comments are great for explaining things in your code, can help remind you later what you were doing, and are extremely beneficial for others trying to figure out what’s going on. Comments will be interpreted as plain text, and not evaluated. Commenting your code is one of the best habits you can develop as a developer.
Single line comments are denoted like so // my single line comment Multi line comments are denoted like so /* This is a multiple line comment */
Operators are how we perform actions on variables or values. These are super important and useful, as you will be using them quite often in many different ways. Here is a listing followed by some basic examples. We will become more familiar with them over time.
+ — * / = % ++ — += -= *= /= == ===
Assignment ( = )
var number = 5;
Math (addition +, subtraction -, multiplication *, division / )
var sum = number + 5;
Compound Assignment (
/= ) this is a shortcut for combining math.
number += 5 is the same as number = number + 5
number ++ is the same as number + 1
Equality ( loose equals
==, strict equals
===, loose not equals
!=, strict not equals
a == b
More on this will be covered later when we go over types and values.
number < sum
Logical ( and
do something if ‘a’ and ‘b’ are true or if ‘a’ or ‘b’ are true.
% ) The modulus operator returns the division remainder.
9 % 5 = 4 // 5 goes into 9 one time with a remainder of 4
Logical Operators are used to determine the logic between variables or values, and typically used with booleans such as in a conditional.
Logical AND —
&& — evaluates to true if each expression is true.
// examples var x = 5; var y = 10; (x < y && y > x) // true (x < y && y < x) // false because both expressions must be true
Logical OR —
|| — evaluates to true if at least one expression evaluates to true.
// examples var x = 5; var y = 10; (x < y || y > x) // true (x < y || y < x) // true because the first expression evaluated to true, so the rest don’t matter at this point
Logical NOT —
! — returns true if expression cannot be converted to true, meaning the expression is false.
// examples var x = 5; var y = 10; (x != y) // true because x is not equal to y
That’s plenty to chew on for now! Keep practicing with declaring and setting variables, while also doing some basic math operations on them. We’ll see you back here tomorrow as we continue progressing through the basics and discover types and values.
But wait, there's more. Some of you may be wondering where we write our code, and how we run it. You're going to want a text editor for writing code. We recommend and use Sublime and Atom. As far as running your code, well that gets a lot more complicated. For now, feel content using the browser DevTools, but if you are looking for something more advanced at this point you might try running node in the terminal. Codecademy has a good tutorial on the terminal. There is also a neat browser terminal simulation project at learntheterminal.com.