An Introduction
- Introducing JavaScript
- How to add JavaScript to a webpage
- How to add inline JavaScript
- How to link to external JavaScript
- Summary
Syntax and Structure
- JavaScript Values
- Camel Case
- Unicode
- Semicolons
- Indentation
- White Space
- Commenting
- Identifiers
- Case Sensitivity
- Reserved Words
- JavaScript Operators
- JavaScript Expressions
- Summary
Variables, Scope & Hoisting
- What are Variables?
- Naming Variables
- Difference Between var, let, and const
- Variable Scope
- Hoisting
- Constants
- Summary
Data Types
- What are Data Types?
- Summary
Converting Data Types
- Converting Values to Strings
- Converting Values to Numbers
- Converting Values to Booleans
The Basics of JavaScript Strings
- Creating Strings
- Concatenation
- Syntax Rules
- Summary
Working with Strings
- The Anatomy of a String
- Converting Strings into Numbers
An Introduction to the DOM
- What is the DOM?
- The DOM Tree & Nodes
Accessing DOM Elements
- getElementById()
- getElementsByClassName()
- getElementsByTagName()
- Query Selectors
Traversing the DOM
- Root Nodes
- Parent Nodes
- Child Nodes
- Sibling Nodes
Making changes to the DOM
- Creating New Nodes
- Inserting Nodes into the DOM
- Removing Nodes from the DOM
How to modify DOM nodes
- Modifying Attributes
- Modifying Classes
- Modifying Styles
Understanding Events
- What are Event Handlers & Event Listeners?
- Inline Event Handlers
- Event Handler Properties
- Event Listeners
- Common Events
- Event Objects
- Summary
Mastering Arrays
- Creating an Array
- Looping over an Array
- Adding to the end of an Array
- Removing from the end of an Array
- Removing from the front of an Array
- Adding to the front of an Array
- Getting the index of an Array item
- Removing an item by index position
- Remove multiple items from an index position
- Copying an Array
- Checking if an object is an Array
- Reversing the order of an Array
- Replacing Array elements with static values
- Sorting an Array
- Merging Arrays
- Converting Array Elements into a String
- map(), filter() and reduce()
- Find the first element that satisfies a function
Mastering Objects
- Creating an Object
- Dot notation
- Deleting Properties
- Square Brackets
- Updating object members
- What is “this”?
- Summary
Using Conditionals
- if/else Statements
- else if
- Comparison operators
- Nesting if/else
- Logical operators: AND, OR, and NOT
- switch statements
- Ternary operator
Mastering Loops
- the for loop
- do…while statement
- while statement
- labelled statement
- break statement
- continue statement
- for…in statement
- for…of statement
- Summary
Mastering Functions
- Defining functions
- Function expressions
- Calling functions
- Function scope
- Nesting functions and closures
- Closures
- The arguments object
- Function parameters
- Arrow functions
- Predefined functions
- Summary
What are classes?
- Classes are just like functions!
- Class declarations
- Hoisting
- Class expressions
- Constructors
- Instance properties
- Field declarations
- Child classes using ‘extends’
- Species
- The ‘super’ keyword
- Mix-ins
Understanding APIs
- APIs in JavaScript
- So how do APIs work?
- Summary
Fetching data from a server
- The old way…
- The solution: AJAX
- Creating an Ajax request
- XMLHttpRequest
- Fetch
- Working with promises
- Summary
An Introduction to REST APIs
- What is a REST API?
- RESTful Architecture
- REST in action
- Working with REST data
Promises
- Why use promises?
- Summary
Async & defer
- <script>
- <script async>
- <script defer>
- So when should I use each method?
The ‘this’ keyword
- A little background
- Execution Context
- “this” in Global Scope
- “this” when calling Function
- “this” in Methods
- “this” with call() and apply()
- “this” with bind()
- “this” inside an Arrow Function
- Summary
Understanding Regex
- A very basic Regex pattern
- Why use Regular Expressions?
- Creating a Regular Expression
- Regular Expression Methods
- The Power of Regex
- Flags:
- Character groups
- Reviewing Regex
- Summary