JavaScript One
Introduction to JavaScript
Student Learning Objectives
- Student can declare a variable
- Student can assign a variable a value
- Student can reassign a variable a value
- Student can recite the JavaScript Data Types
- Student can describe the difference between Null and Undefined
- Student can describe the difference between weak (dynamic) and strong (static) typing.
- Student can create an array literal
- Student can hard code values into an array literal
- Student can create an object literal
- Student can add multiple key/value pairs to object
- Student can declare if/elseif/else blocks
- Student can nest if statements
- Student can use logical operators
- Student can create a function expression
- Student can create a function declaration
- Student can invoke a function
- Student can return a value from a function
- Student can describe the difference between parameters and arguments
- Student can access variables from local function scope to global scope
- Student can declare a let or const variable
- Student can assign a let a value
- Student can use let or const to create block-scoped local variables
What is JavaScript?
JavaScript was initially created "to make web pages alive"
JavaScript is a programming language that contains logic.
JavaScript is often used alongside HTML and CSS, but can also be used for other purposes
Javascript is used to make our websites interactive.
JavaScript Variables
Variables are used to store values in JavaScript. There are three ways to create, or declare, a variable:
var name = "Matias";
let name = "Matias";
const name = "Matias";
Declares a variable
The name of the variable
The value of the variable
JavaScript Data Types
JavaScript is built with several different data types.
Number
String
Boolean
Undefined
Null
Array
Object
let newString = "hello"
let newNumber = 7
let newBoolean = true
let newUndefined = undefined
let newNull = null
let newArray = []
let newObject = {}
Numbers
Numbers refer to any integer or "floating point "number.
NaN, which stands for Not a Number, is, ironically, a number datatype.
Math operations can be performed on Number data types.
var num = 2;
var numTwo = 2;
var sum = 2 + 2; //=> 4
var summedNums = num + numTwo //=> 4
Above, both the 'sum' and 'summedNums' variables have a value of 4.
Strings
Strings are characters wrapped in quotes.
A string can be created using double, single, or back-tick quotes.
let name = "Matias";
let name = 'Matias';
let name = `Matias`;
Strings can also be added together, an operation called concatenation.
Using back-ticks, variables can also be placed directly into a string. This is known as a template string, or template literal.
let name = "Matias";
let greeting = "Hello, "
let nameGreet = greeting + name;
let tempString = `Hello, ${name}`;
Booleans
The boolean data type has only two values: true and false.
let isAndrewAwesome = true;
let isItPartyTime = false;
Null and Undefined
Null means the absence of a value, or that the value represents is nothing.
Undefined is a data type itself, and occurs when a variable is declared but not given a value;
let nothing = null;
let notDefined;
Arrays
Arrays in JavaScript are a data type that is used to create lists, or indexed data.
They are created using [angle brackets], with each element separated by a comma.
These elements are organized by indexes, which start at 0.
Arrays can hold any data type in an index, including other arrays!
let myArray = [1, 'Hello', true, null];
0
1
2
3
Index:
Objects
Objects are a data type that is used to create representations of related data.
Objects are separated into key/value pairs, with the key being how we reference each value.
Object keys are also called properties interchangeably.
Objects are created using {curly brackets}.
let myObj = {
name: 'Matias',
age: 26
};
JavaScript Functions
Functions are reusable pieces of code can be seen as 'actions' in our JavaScript, and they help bring our code to life.
Functions are what are used to "do stuff" or "make stuff happen" on a webpage
function sayHello(){
return 'Hello!'
};
sayHello();
Function Syntax
There are three ways we can create functions, known as function declarations, function expressions,
and arrow functions.
//Function Declaration
function sayHello(){
return 'Hello!'
};
//Function Expression
var sayHello = function(){
return 'Hello!'
};
//Arrow Function
const sayHello = () => {
return 'Hello!'
}
Function keyword tells JS that this is a function
Name of the function
What the function returns
The above code is just the blueprint of the function.
To actual use our function, we have to invoke, or call, the function, as seen below.
sayHello();
Arrow Functions
A final way to write functions is as arrow functions.
//Arrow Function
const sayHello = () => {
return 'Hello!'
}
//Implicit return
const sayHello = () => 'Hello!'
The function is assigned to a variable
These parentheses contain the function parameters
The code block behaves the same as a regular function.
Arrow functions were introduced in ES6
If an arrow function is written on a single line, it has an implicit return. Meaning that whatever is to the right of the arrow is returned.
Parameters and Arguments
When building, or defining our function, we can specify parameters for our function.
Parameters are placeholders for arguments that will be passed in when the function is called.
function toaster(slot1, slot2){
return `${slot1} was toasted, ${slot2} was burned`;
};
toaster('rye bread', 'wheat bread');
Truthy and Falsy Values
In JavaScript, all values are either considered truthy or falsy values.
There are only six values in JavaScript that are falsy.
False
Null
Undefined
Empty String
0 (as a number)
NaN
Operators
= Assignment Operator
== Equal to
=== Strictly Equal to
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
&& Logical 'and' Operator
|| Logical 'or' Operator
!== Not Equal to
If/Else Statements
If/Else Statements allow functionality dependent on conditions that are passed in
if(7 === 7){
return'This is true!'
} else if(7 === '7'){
return 'This is not true!'
} else {
return 'Default Action'
}
Condition to be evaluated
Action block
Multiple comparisons can be evaluated in an if/else statement
The else block runs if none of the conditions pass.
Introduction to Scope
In JavaScript, everything has a scope; this refers to the 'level' the code is running in.
The top most scope is known as the global scope.
The scope in functions is known as the local, or block scope.
let global = "Global Scope";
function lexFunc(){
return "Block Scope";
};
JavaScript 1
By awestenskow
JavaScript 1
Introduction to JavaScript
- 137